centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?
现在要求PHP的环境支持TSL1.2和SHA-256,php的CURL库升级到curl 7.35.0,openssl升级到OpenSSL/1.0.1f,但是通过配资文件查看curl的SSL Version是NSS,如果修改为openssl?
入下图SSL Version处如何变更为openssl
centos 6.5 php的curl的SSL Version 为什么是NSS/3.19.1 而不是OpenSSL/1.0.1f 如何变更?
回复内容:
现在要求PHP的环境支持TSL1.2和SHA-256,php的CURL库升级到curl 7.35.0,openssl升级到OpenSSL/1.0.1f,但是通过配资文件查看curl的SSL Version是NSS,如果修改为openssl?
入下图SSL Version处如何变更为openssl
centos 6.5 php的curl的SSL Version 为什么是NSS/3.19.1 而不是OpenSSL/1.0.1f 如何变更?
针对你的问题,在我的开发环境里亲自实践了一遍成功了,说下步骤:
先来一次yum update,把openssl更新到最新版本
然后确认curl的ssl版本是不是openssl,centos默认安装的是NSS
如果检测不是如上图的openssl,就要下载curl重新编译
wget https://curl.haxx.se/download/archeology/curl-7.19.7.tar.gz
tar xvzf curl-7.19.7.tar.gz
cd curl-7.19.7
./configure --prefix=/usr/local/curl/ --without-nss --with-ssl
sudo make && sudo make install
备份默认的curl二进制文件
sudo mv /usr/bin/curl /usr/bin/curl.bak
然后做一个新的curl软链
sudo ln -s /usr/local/curl/bin/curl /usr/bin/curl
然后再curl --version确认是否已经是openssl的版本
-
下载对应版本的PHP源码包,重新编译安装php的curl扩展
wget http://cn2.php.net/get/php-5.6.21.tar.gz
tar xvzf php-5.6.21.tar.gz
cd phpphp-5.6.21/ext/curl
phpize
./configure --with-curl=/usr/local/curl/ --with-php-config=/usr/local/php/bin/php-config
sudo make && sudo make install
安装完毕以后会在/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/目录下生成curl.so
注意:如果原来安装过curl扩展,那么要先删除curl.so
最后重启下php-fpm,再确认下phpinfo