我正在尝试使用以下代码(在Debian GNU/Linux 7(wheezy)上,使用PHP 5.4.4)建立与MySQL服务器的SSL连接:
$db = new PDO('mysql:host=mysql.myorganization.net;dbname=myDB',
'username', 'password', array(
PDO::MYSQL_ATTR_SSL_CA => 'mysqlCertificates/caChain.pem'
));
var_dump($db->query("SHOW STATUS LIKE 'Ssl_cipher';")->fetchAll());
但是我遇到了这个错误:
SQLSTATE[HY000] [2026] SSL connection error: ASN: bad other signature confirmation
我可以使用mysql命令成功建立SSL连接:
mysql -u username -p -h mysql.myorganizataion.net --ssl-ca mysqlCertificates/caChain.pem
我还从源代码编译了PHP 5.4.4,并在没有运行make install的情况下运行了它。
sapi/cli/php ~/Projects/test.php
我得到以下输出。
array(1) {
[0]=>
array(4) {
["Variable_name"]=>
string(10) "Ssl_cipher"
[0]=>
string(10) "Ssl_cipher"
["Value"]=>
string(18) "DHE-RSA-AES256-SHA"
[1]=>
string(18) "DHE-RSA-AES256-SHA"
}
}
我尝试查找php.ini文件和my.cnf文件中的任何内容,以查看是否有任何可能会干扰连接的问题,但我不确定我在寻找什么。
因此,我的问题是:
当从/usr/bin/php运行php时,为什么会出现这个错误,而在构建文件夹中运行sapi/cli/php时却没有出现呢?
我意识到我的PHP版本已经过期,但在下一次维护窗口之前我无法更新它,并且我认为我已经做了足够的事情证明这不是版本问题。