Anda dapat menentukan variabel lingkungan baru yang mengaktifkan atau menonaktifkan penggunaan SSL, kemudian menggunakan operator ternary untuk memuat konfigurasi yang sesuai.
Tambahkan ini ke .env
. Anda file di lingkungan di mana Anda perlu mengaktifkan SSL database:
MYSQL_SSL=true // not having this variable defined or being false, will disable SSL
Di config/database.php
. Anda file, ubah options
nilai kunci agar koneksi Anda dimuat seperti ini:
'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')
] : []
Saya biasanya menentang penggunaan logika dalam file konfigurasi, tetapi ini adalah kasus di mana pengecualian mungkin dibuat.