首頁 >後端開發 >php教程 >centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?

centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?

WBOY
WBOY原創
2016-06-06 20:06:471822瀏覽

现在要求PHP的环境支持TSL1.2和SHA-256,php的CURL库升级到curl 7.35.0,openssl升级到OpenSSL/1.0.1f,但是通过配资文件查看curl的SSL Version是NSS,如果修改为openssl?
入下图SSL Version处如何变更为openssl
centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为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
centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?
centos 6.5 php的curl的SSL Version 为什么是NSS/3.19.1 而不是OpenSSL/1.0.1f 如何变更?

针对你的问题,在我的开发环境里亲自实践了一遍成功了,说下步骤:

  1. 先来一次yum update,把openssl更新到最新版本
    centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?

  2. 然后确认curl的ssl版本是不是openssl,centos默认安装的是NSS
    centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?

如果检测不是如上图的openssl,就要下载curl重新编译

<code>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</code>

备份默认的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的版本

  1. 下载对应版本的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

centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn