Vous pouvez définir une nouvelle variable d'environnement qui active ou désactive l'utilisation de SSL, puis utiliser un opérateur ternaire pour charger la configuration appropriée.
Ajoutez ceci à votre .env
fichier dans les environnements où vous avez besoin d'activer SSL de base de données :
MYSQL_SSL=true // not having this variable defined or being false, will disable SSL
Dans votre config/database.php
fichier, modifiez les options
valeur clé pour que votre connexion soit chargée comme ceci :
'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')
] : []
Je suis généralement contre l'utilisation de la logique dans les fichiers de configuration, mais c'est un cas où une exception peut être faite.