Make PHP curl use openssl instead of NSS
跳到导航
跳到搜索
centos 6.5 系统PHP环境下的CURL库的SSL Version 从默认 NSS改为OpenSSL
升级 openssl and curl
[root@localhost awen]# openssl version OpenSSL 1.0.1e-fips 11 Feb 2013 如果你的是上面 ,来一次yum update,把openssl更新到最新版本 然后确认curl的ssl版本是不是openssl,centos默认安装的是NSS [root@localhost ~]# curl -V curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.21 Basic ECC zlib/1.2.7 libidn/1.28 libssh2/1.4.3 如果检测如上图的 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 -j3 && 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 #cp /usr/bin/curl-config /usr/bin/curl-config.bak #然后再curl --version确认是否已经是openssl的版本 如下 有openssl字样为OK [root@localhost awen]# curl -V curl 7.19.7 (x86_64-unknown-linux-gnu) libcurl/7.19.7 OpenSSL/1.0.1e zlib/1.2.3 libidn/1.18
编译安装php的curl扩展
1.insatall curl ext wget -c http://my1.php.net/distributions/php-5.6.6.tar.bz2 tar xvf php-5.6.6.tar.bz2 && cd php-5.6.6/ext/curl/ /data/apps/php/bin/phpize #phpize #./configure --with-curl=/usr/local/curl/ --with-php-config=/usr/local/php/bin/php-config ./configure --with-curl=/usr/local/curl/ --with-php-config=/apps/php/bin/php-config sudo make -j3 && sudo make install Installing shared extensions: apps/php/lib/php/extensions/no-debug-non-zts-20131226/ 注意:如果原来安装过curl扩展,那么要先删除curl.so 2.在php.ini 添加如下信息 [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. curl.cainfo = extension="curl.so" 3. 然后是把curl的lib添加到PATH中 echo "/usr/local/curl/lib/" >> /etc/ld.so.conf && ldconfig 4.最后重启 or reload 下php-fpm,再确认下phpinfo 或者不用打开phpinfo 因为线上一般 deny phpinfo 用如下命令就行了 这样就是ok的啦 [root@localhost awen]# /apps/php/bin/php -i | grep "SSL Version" SSL Version => OpenSSL/1.0.1e make PHP curl use openssl instead of NSS
参考
http://php.net/manual/en/book.curl.php
centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL? https://segmentfault.com/q/1010000005596871
PHP命令行模式的相关参数详解
http://www.cnblogs.com/codebean/archive/2011/05/30/php-cli-argv.html
centos curl版本nss改成openssl http://www.cnblogs.com/showker/p/4706271.html
Linux php5 curl 扩展 http://blog.csdn.net/qingflyer/article/details/6546071
php5.2版本的curl的加密协议不是openssl二是NSS,怎么设置? https://community.jiguang.cn/t/php5-2-curl-openssl-nss/10466