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

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

WBOY
WBOYOriginal
2016-06-06 20:06:471798browse

现在要求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?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn