現在要求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 如何變更?
回複內容:
現在要求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 如何變更?
針對你的問題,在我的開發環境裡親自實踐了一遍成功了,說下步驟:
先來一次yum update,把openssl更新到最新版本
然後確認curl的ssl版本是不是openssl,centos預設安裝的是NSS
如果檢測不是如的openssl,就要下載curl重新編譯
wget https://curl.haxx.se/download/archeology/curl-7.19.7.tar.gztar xvzf curl-7.19.7.tar.gzcd curl-7.19.7./configure --prefix=/usr/local/curl/ --without-nss --with-sslsudo 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的版本
下載對應版本的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