《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
[[email protected] 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步,修改两个软连接
[[email protected] php-7.2.9]# unlink /usr/local/php 或 rm -rf /usr/local/php
[[email protected] php-7.2.9]# ln -s /usr/local/php-7.2.9 /usr/local/php
[[email protected] 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   --参考