我正在运行Laravel 5.1,并且有多个环境,其中一些需要SSL,而另一些则不需要。当我需要SSL时,我的database.php配置需要mysql驱动程序中的以下内容:
'options' => [
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')
]
问题在于,当我在不使用SSL的环境(例如本地)中将这些env()变量设置为null时,它会出现问题(白屏等)。我必须要么不设置“options”键,要么将其设置为空数组才能使其正常工作,这样就会删除env()变量,然后在SSL环境中就不能正常工作了。
有没有一种方法可以满足这个键,同时适用于SSL和非SSL环境?