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

发布于 2022-09-02 19:59:17 字数 348 浏览 12 评论 0

现在要求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 如何变更?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

比忠 2022-09-09 19:59:17

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

  1. 先来一次yum update,把openssl更新到最新版本
    clipboard.png

  2. 然后确认curl的ssl版本是不是openssl,centos默认安装的是NSS
    clipboard.png

如果检测不是如上图的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的版本

  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

clipboard.png

原谅我要高飞 2022-09-09 19:59:17

NSS不支持TSL1.2吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文