我正在尝试开发一个使用SSL连接到
MySQL服务器的
PHP应用程序.
我尝试使用mysql_connect并且工作正常,但是使用PDO却没有.当我尝试连接时,我收到以下错误:
PDO::__construct(): this stream does not support SSL/crypto
看起来很奇怪的是,如果我调整证书路径(指向不存在的文件),我会得到同样的错误!
我在Debian Squeeze上使用php 5.3.10,安装了以下软件包:
php5-cgi
php5-cli
php5-common
php5-fpm
php5-gd
php5-mcrypt
php5-mysql
php5-suhosin
任何的想法?谢谢
最佳答案 您的模块列表不包括openssl
您可以使用php -m检查已编译的模块.您可以通过运行php -a然后执行var_dump(get_loaded_extensions())来检查在运行时加载的所有模块;
您需要将其编译或作为扩展加载才能使用SSL连接.
如果扩展存在于磁盘上(检查你的php扩展目录 – 在php.ini中的位置),那么还要检查你的php.ini中的行extension = php_openssl.so并确保它没有被注释掉.