Możesz zdefiniować nową zmienną środowiskową, która włącza lub wyłącza użycie SSL, a następnie użyj operatora trójargumentowego, aby załadować odpowiednią konfigurację.
Dodaj to do swojego pliku .env
plik w środowiskach, w których wymagany jest włączony protokół SSL bazy danych:
MYSQL_SSL=true // not having this variable defined or being false, will disable SSL
W twoim config/database.php
pliku, zmodyfikuj options
wartość klucza dla połączenia, które ma zostać załadowane w następujący sposób:
'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')
] : []
Zwykle jestem przeciwny używaniu logiki w plikach konfiguracyjnych, ale jest to przypadek, w którym można zrobić wyjątek.