1.既然是平滑公升級,是不需要宕機,也不需要停止服務,是不存在關閉**的說法
2.而公升級最後的重啟,重啟的是php載入的配置檔案,不影響你當前執行的**
3.php-fpm是屬於fastcgi,一旦啟動是在記憶體中跑的,和你編譯公升級的過程沒有任何關係
將php5.3.29安裝目錄config.nice複製到php-5.4.25
原因:在安裝 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是預設使用yum安裝ssl version為nss,現有專案需要支援openssl。
當前curl版本
phpinfo輸出資訊
開始公升級:
[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版本資訊
nginx平滑公升級
先來說下我今天要實驗nginx平滑公升級的環境,從nginx.1.8.0公升級到nginx1.9.5 大概的流程 nginx的程序分為master主程序和work工作程序,master程序主要管理事件訊號接受和分發,所有的請求處理都由work程序處理並返回結 果,nginx的平滑重啟或過載配置檔案等...
Nginx平滑公升級
原文 來自nginx官網 如果想要公升級nginx版本 或者在原本版上增加 刪除模組 同時保持服務不間斷,採用如下方式可滿足要求。1.使用新的二進位制檔案替換老的二進位制檔案,這需要注意的是nginx原始碼在執行make編譯後,不要直接make install,否則可能會覆蓋其他配置檔案,命令如下 ...
Nginx平滑公升級
有時,我們需要對我們的伺服器進行公升級更高版本。此時,如果我們強行將伺服器停止然後直接公升級,這樣原來在伺服器上執行著的程序就會被影響。如何解決這個問題呢?可以通過平滑公升級的方式來解決。平滑公升級時,不會停掉在執行著的程序,這些程序會繼續處理請求,但不會再接受新請求,在這些老程序在處理完還在處理的...