【发布时间】:2016-02-17 21:58:12
【问题描述】:
我正在运行 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 时,它会中断(白屏等)。我必须要么不设置“选项”键,要么设置为一个空数组以使其工作,这将删除 env() 变量,然后这些变量将无法在 SSL 环境中工作。
有没有一种方法可以满足这个适用于 SSL 和非 SSL 环境的密钥?
【问题讨论】:
标签: php mysql laravel ssl laravel-5.1