Home > Operation and Maintenance > CentOS > How to upgrade centos7 php7.0 to php7.1

How to upgrade centos7 php7.0 to php7.1

藏色散人
Release: 2021-06-19 16:28:24
forward
2843 people have browsed it

The following tutorial column from centos will introduce to you how to upgrade centos7 php7.0 to php7.1. I hope it will be helpful to friends in need!

Don’t ask me why I want to upgrade, I am not an operation and maintenance person. If you are not an operation and maintenance person, and you are a company's server, then you still have to be cautious. I just filled in the pit for a whole day. I will simply record this pitiful day

Back up the previous php7.0 (this is very important, very important)

If you have not done this step, upgrade directly, I am sure 90% of your server will hang up. As for why, because you The previous configuration is gone, and the newly installed php7.1 configuration is new. Without various extensions, how will your server run? Of course, if you have not installed any extensions, congratulations, you don’t need to back up

cp -P /usr/local/php /usr/local/php70
Copy after login

Check the configure of php7.0

Since it is an upgrade, of courseconfigure can only be more than before but not less. If you forget the previous configure (no one will remember it for sure), check phpinfo

 php -i | grep configure
Copy after login

How to upgrade centos7 php7.0 to php7.1

Replace it to get the previous configure command

 php -i | grep configure | sed -e "s/Configure Command =>  //; s/'//g"
Copy after login

How to upgrade centos7 php7.0 to php7.1

Download php7.1 source code

cd /usr/local/src
wget -c http://cn2.php.net/get/php-7.1.0.tar.gz/from/this/mirror -O php-7.1.0.tar.gz

tar -zxvf php-7.1.0.tar.gz
cd php-7.1.0/
Copy after login

Start installing 7.1

cd php-7.1.0

./configure  --prefix=/usr/local/php --exec-prefix=/usr/local/php --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --with-config-file-path=/usr/local/php/etc --with-mhash --with-openssl --with-mcrypt --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-opcache --enable-fpm

make 

make install
Copy after login

This basically completes the installation, simple, it is very simple, but there are pitfalls

Start Filling the pit

Since it is an upgrade, of course the configuration should be the same as before

cp /usr/local/php70/etc/php.ini /usr/local/php/etc/php.ini
cp /usr/local/php70/etc/php-fpm.conf /usr/local/php/etc/php-fpm.conf
cp /usr/local/php70/etc/php-fpm.d/www.conf /usr/local/php/etc/php-fpm.d/www.conf
Copy after login

The pitfall of extensions, whatever extensions were installed before, now have to be reinstalled, andCannot be installed under the previous expansion pack folder, it must be a new expansion pack folder, this is very important, otherwise you will have problems similar to the following if you keep executing php -v

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/memcached.so' - /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/memcached.so: cannot open shared object file: No such file or directory in Unknown on line 0
Copy after login

If you forget to install any extensions, just take a look at what is in the extension directory:

[root]$ /usr/local/php/bin/php-config --extension-dir
 /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303
[root]$  ls /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303
Copy after login

opcache.a opcache.so is built-in, and the others are All are new. I won’t tell you how to install other extensions. If you have installed a lot of other extensions, congratulations, you can practice again

Restart php-fpm

 systemctl restart php-fpm
Copy after login

View Status

systemctl status php-fpm -l
Copy after login

The remaining pitfalls, the pitfalls of the code

This is a bit embarrassing. If your code is not written very rigorously, it is estimated that error.log is now gone It's very big, and there will be a long time left before you have to fix your own code. Why do I bring this up? Mainly because I am changing this compatibility code all day long? (The code is so poorly written). For example, a single instance of a class will create a huge hole. . . . . Wish ya'll good luck

The above is the detailed content of How to upgrade centos7 php7.0 to php7.1. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template