Sie können eine neue Umgebungsvariable definieren, die die SSL-Nutzung aktiviert oder deaktiviert, und dann einen ternären Operator verwenden, um die entsprechende Konfiguration zu laden.
Fügen Sie dies zu Ihrer .env
hinzu Datei in Umgebungen, in denen Datenbank-SSL aktiviert sein muss:
MYSQL_SSL=true // not having this variable defined or being false, will disable SSL
In Ihrer config/database.php
Datei, ändern Sie die options
Schlüsselwert für Ihre Verbindung wie folgt geladen werden:
'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')
] : []
Normalerweise bin ich gegen die Verwendung von Logik in den Konfigurationsdateien, aber in diesem Fall könnte eine Ausnahme gemacht werden.