U kunt een nieuwe omgevingsvariabele definiëren die SSL-gebruik in- of uitschakelt, en vervolgens een ternaire operator gebruiken om de juiste configuratie te laden.
Voeg dit toe aan uw .env
bestand in omgevingen waar database SSL moet zijn ingeschakeld:
MYSQL_SSL=true // not having this variable defined or being false, will disable SSL
In uw config/database.php
bestand, wijzig dan de options
sleutelwaarde voor uw verbinding om als volgt te worden geladen:
'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')
] : []
Ik ben meestal tegen het gebruik van logica in de configuratiebestanden, maar in dit geval kan een uitzondering worden gemaakt.