加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

LINUX PHP7如何把curl扩展的SSL版本从NSS改为OpenSSL以支持opens

发布时间:2020-12-13 02:07:05 所属栏目:PHP教程 来源:网络整理
导读:《LINUX PHP7如何把curl扩展的SSL版本从NSS改为OpenSSL以支持openssl》要点: 本文介绍了LINUX PHP7如何把curl扩展的SSL版本从NSS改为OpenSSL以支持openssl,希望对您有用。如果有疑问,可以联系我们。 本文环境: LINUX(centos ) 6 PHP 7 原系统自带curl 全

《LINUX PHP7如何把curl扩展的SSL版本从NSS改为OpenSSL以支持openssl》要点:
本文介绍了LINUX PHP7如何把curl扩展的SSL版本从NSS改为OpenSSL以支持openssl,希望对您有用。如果有疑问,可以联系我们。

本文环境:

LINUX(centos ) 6

PHP 7

原系统自带curl

全文由编程之家(www.52php.cn) 实测。


系统原来安装的是PHP7.0.11,编译时,带了参数--with-curl 这样编译的结果是curl不支持Openssl,而是默认的NSS,参图

PHP7如何把curl扩展的SSL Version设置为OpenSSL以支持openssl

因项目需要,要把curl的NSS改为openssl,网络上一教都是叫你做这两步:

1、安装curl

2、安装php的curl.so扩展。或安装openssl扩展(小编注:要不要安装主要取决于你的PHP是否有这两个扩展,执行php -m可以看到)

这个对PHP7以下的版本可能是可以的,但PHP7不行,

PHP7默认就是把curl整合到PHP中,后期编译了curl.so也不能用。

需要这样做才行:


1、安装curl

2、重新编译PHP:就是把原来--with-curl 选项改为--with-curl=/usr/local/curl 然后重新编译安装。


一、安装curl包:

# wget https://curl.haxx.se/download/curl-7.58.0.tar.gz

# tar xvzf curl-7.58.0.tar.gz

# cd curl-7.58.0

# ./configure --prefix=/usr/local/curl/ --without-nss --with-ssl

# make && make install


备份原先系统上的默认的curl命令:

# mv /usr/bin/curl /usr/bin/curl.bak

# mv /usr/bin/curl-config /usr/bin/curl-config.bak

然后做一个新的curl软链:

# ln -s /usr/local/curl/bin/curl /usr/bin/curl

# cp /usr/local/curl/bin/curl-config /usr/bin/curl-config


# echo "/usr/local/lib" >> /etc/ld.so.conf

# ldconfig


现在,

执行 curl --version 看看是否是openssl的版本,如下:

# curl --version

curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.0.1e zlib/1.2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS Largefile NTLM NTLM_WB SSL libz UnixSockets HTTPS-proxy


二、重新编译PHP:

只要把原来--with-curl 选项改为--with-curl=/usr/local/curl 即可。

执行 php -m 检查是否已带上curl扩展了,如果有,不需要安装curl.so,否则会出现:


[12-Mar-2018 12:24:16] NOTICE: PHP message: PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'curl.so' in Unknown on line 0


这种错误,把你安装的curl.ini去掉即可。


重新编译安装PHP后就可以了,重启,执行phpinfo()可以看到如图:

PHP7如何把curl扩展的SSL Version设置为OpenSSL以支持openssl



(完)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读