首先确认curl的ssl版本是不是openssl
curl --version
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
并没有 OpenSSL
安装
cd /usr/local/src wget https://curl.haxx.se/download/curl-7.58.0.tar.gz tar -zxvf 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
做一个新的curl软链
ln -s /usr/local/curl/bin/curl /usr/bin/curl
再次查看curl版本和支持情况
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 pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets HTTPS-proxy
已有 OpenSSL
进入之前安装php的源码目录,重新编译php
找到之前安装的编译参数
/usr/local/php/bin/php -i | grep configure
或者找到文件 /usr/local/php/bin/php-config,其中 configure_options 就为编译参数
php源码目录下执行
./configure --prefix=/usr/local/php --with-curl=/usr/local/curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip make make install
使用phpinfo查看是否支持openssl
旧
新的
转载至: https://blog.jam00.com/article/info/38.html