Du kan definere en ny miljøvariabel, der aktiverer eller deaktiverer SSL-brug, og derefter bruge en ternær operatør til at indlæse den relevante konfiguration.
Føj dette til din .env
fil i miljøer, hvor du skal have database SSL aktiveret:
MYSQL_SSL=true // not having this variable defined or being false, will disable SSL
I din config/database.php
fil, skal du ændre options
nøgleværdi for at din forbindelse skal indlæses som denne:
'options' => (env('MYSQL_SSL')) ? [
PDO::MYSQL_ATTR_SSL_KEY => env('MYSQL_SSL_KEY'), // /path/to/key.pem
PDO::MYSQL_ATTR_SSL_CERT => env('MYSQL_SSL_CERT'), // /path/to/cert.pem
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_SSL_CA'), // /path/to/ca.pem
PDO::MYSQL_ATTR_SSL_CIPHER => env('MYSQL_SSL_CIPHER')
] : []
Jeg er normalt imod at bruge logik i konfigurationsfilerne, men dette er et tilfælde, hvor der kan gøres en undtagelse.