圖文詳解php怎麼平滑升級

2022-01-22 16:00:33

php平滑升級

1.既然是平滑升級,是不需要宕機,也不需要停止服務,是不存在關閉網站的說法
2.而升級最後的重新啟動,重新啟動的是PHP載入的組態檔,不影響你當前執行的網站
3.php-fpm是屬於FastCgi,一旦啟動是在記憶體中跑的,和你編譯升級的過程沒有任何關係

系統:centos6.8
php環境:php5.3.29
升級版本:php5.4.45
下載php地址:http://www.php.net/distributi...
將php5.3.29安裝目錄config.nice複製到php-5.4.25
[root@localhost php-5.4.45]# cp /php-5.3.29/config.nice /usr/local/src/php-5.4.45
[root@localhost php-5.4.45]# cd php-5.4.45/
[root@localhost php-5.4.45]# ./config.nice
[root@localhost php-5.4.45]# make ZEND_EXTRA_LIBS='-liconv'
[root@localhost php-5.4.45]# make install

升級完成後建議執行命令:

You may want to add: /usr/local/php5/lib/php to your php.ini include_path
/usr/local/src/php-5.4.45/build/shtool install -c ext/phar/phar.phar /usr/local/php5/bin
ln -s -f /usr/local/php5/bin/phar.phar /usr/local/php5/bin/phar
Installing PDO headers:          /usr/local/php5/include/php/ext/pdo/

安裝中可能遇到錯誤

5988ecc06f5d79a8edd008eb716bbd1.png

  原因:在安裝 PHP 到系統中時要是發生「undefined reference to libiconv_open'」之類的錯誤資訊,那表示在「./configure 」沒抓好一些環境變數值。錯誤發生點在建立「-o sapi/cli/php」是出錯,沒給到要 link 的 iconv 函式庫引數。
第一種解決方法:編輯Makefile 大約77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最後加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然後重新再次 make 即可。
第二種解決方法:
make ZEND_EXTRA_LIBS='-liconv'
ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/

curl升級

情況說明:curl是預設使用yum安裝SSL version為NSS,現有專案需要支援OpenSSL。

當前curl版本

b7671b6ce8ff01be2afa83057a1d3b1.png

phpinfo輸出資訊

0664a607994c12127bec7a438a1c5da.png

下載最新的curl:https://curl.haxx.se/download/curl-7.54.1.tar.gz

開始升級:

[root@IM-web-03 html]# rpm -qa |grep curl
libcurl-devel-7.19.7-53.el6_9.x86_64
curl-7.19.7-53.el6_9.x86_64
libcurl-7.19.7-53.el6_9.x86_64
python-pycurl-7.19.0-9.el6.x86_64
[root@IM-web-03 html]# rpm -e curl-7.19.7-53.el6_9.x86_64 --nodeps
[root@IM-web-03 ~]# tar xvf curl-7.54.1.tar.gz
[root@IM-web-03 ~]# cd curl-7.54.1
[root@IM-web-03 curl-7.54.1]# ./configure  --prefix=/usr/local/curl --without-nss --with-ssl  #關閉NSS 開啟OpenSSL
[root@IM-web-03 curl-7.54.1]# make
[root@IM-web-03 curl-7.54.1]# make install
[root@IM-web-03 curl-7.54.1]# rm -rf /usr/lib64/libcurl.so.4*                        #刪除原有的動態庫
[root@IM-web-03 curl-7.54.1]# ln -s /usr/local/curl/lib/libcurl.so.4* /usr/lib64/    #將新動態庫放到對應位置
[root@IM-web-03 curl-7.54.1]# ldconfig                                               #重新整理動態庫
[root@IM-web-03 ~]# cd php-5.3.29/ext/curl/
[root@IM-web-03 curl]# /usr/local/php5/bin/phpize
[root@IM-web-03 curl]# ./configure --with-curl=/usr/local/curl/ --with-php-config=/usr/local/php5/bin/php-config
[root@IM-web-03 curl]# make
[root@IM-web-03 curl]# make install
[root@IM-web-03 curl]# vim /usr/local/php5/etc/php.ini
新增:extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/curl.so"
[root@IM-web-03 curl]# /etc/init.d/php-fpm restart

升級後檢視版本curl、PHPinfo版本資訊

59fba6d3455b5539c74af01b6562d1e.png

7f26bcccbcdb8b55e6dd052ae43b33a.png

推薦學習:《》

以上就是圖文詳解php怎麼平滑升級的詳細內容,更多請關注TW511.COM其它相關文章!