《Linux服務器php版本升級》php-7.1.7升級到php-7.2.9

第一步:進入指定目錄,下載php版本壓縮包;一般下載到/usr/local/src/目錄下;下載鏈接可以到php官網複製
wget http://hk1.php.net/get/php-7.2.9.tar.gz/from/this/mirror

第二步:解壓文件,並進入解壓後的文件
tar -zxvf mirror
cd php-7.2.9/

第三步:查看上個安裝版本的配置
php -i | grep configure

第四步:進行編譯安裝;編譯安裝使用第一塊編譯代碼即可,第二塊編譯代碼,只是備用;
 ./configure --prefix=/usr/local/php-7.2.9 --with-config-file-path=/usr/local/php-7.2.9/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl

 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-iconv-dir=/usr/local/ --enable-safe-mode -enable-fastcgi -enable-force-cgi-redirect --with-gd --with-jpeg-dir=/usr/local/ --with-png-dir=/usr/local/ --enable-sockets --with-mysqli=mysqlnd --with-openssl --enable-soap --enable-mbstring --enable-mbregex --enable-sqlite-utf8 --enable-zip --with-freetype-dir=/usr/local/ --enable-fpm --with-curl --enable-opcache --with-mcrypt --enable-xml --enable-session --enable-ftp --with-mhash --enable-pcntl --with-gettext --enable-bcmath --with-zlib --with-pdo-mysql --enable-sysvshm --enable-sysvsem --enable-shmop

第五步:安裝配置
make

這一步時間較長,請耐心等待;如果報以下錯誤的話
ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':
/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
[root@test php-5.2.13]# vi Makefile

解決方法: 注:建議用第2種解決方法,進行解決;

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

或者用另一種辦法

2.make ZEND_EXTRA_LIBS='-liconv'

第六步,進行檢測
make install

第七步:將之前的php配置拷貝到新的php版本配置中;全部試一下,如果讓覆蓋的話,就選n,跳過執行其他的就可以了
cp /usr/local/php/etc/php.ini /usr/local/php-7.2.9/etc/
cp /usr/local/php/etc/php-fpm.conf /usr/local/php-7.2.9/etc/
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php-7.2.9/etc/php-fpm.d/
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php-7.2.9/etc/php-fpm.d/www.conf
cp /usr/local/php/sbin/php-fpm /usr/local/php-7.2.9/sbin/
cp /usr/bin/php-fpm /usr/local/bin/

第八步,檢查php擴展,缺少什麼就添加什麼;具體的安裝方式,可以借鑑
http://www.cnblogs.com/guansixu/p/7058295.html  ----linux安裝php擴展;

第九步,配置 php-fpm 啓動服務腳本;這裏的修改具體內容可以參考 http://www.lnmp.cn/upgrade-to-php7.1-from-php-7.0.html
cp sapi/fpm/php-fpm.service /usr/lib/php-fpm-729.service
vim /usr/lib/php-fpm-729.service

修改內容:
PIDFile=/這裏寫的是你以前php版本安裝的目錄/var/run/php-fpm.pid
ExecStart=/這裏寫的是你以前php版本安裝的目錄/sbin/php-fpm --nodaemonize --fpm-config /這裏寫的是你以前php版本安裝的目錄/etc/php-fpm.conf
如:

第十步,關閉php-fpm
pkill php-fpm

第11步,修改兩個軟連接
[root@lnmp php-7.2.9]# unlink /usr/local/php 或 rm -rf /usr/local/php
[root@lnmp php-7.2.9]# ln -s /usr/local/php-7.2.9 /usr/local/php
[root@lnmp php-7.2.9]# ln -s /usr/lib/php-fpm-729.service /usr/lib/php-fpm.service

第12步,重新加載服務
service php-fpm restart
service nginx reload

參考網址:

http://www.lnmp.cn/upgrade-to-php7.1-from-php-7.0.html   -----linux升級php版本
https://segmentfault.com/a/1190000011633180  ---參考
https://www.cnblogs.com/Julian-Chen/articles/7987003.html   --參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章