Fragen Sie mich nicht, warum ich ein Upgrade durchführen möchte, ich bin kein Fachmann für Betrieb und Wartung. Wenn Sie kein Betriebs- und Wartungspersonal sind und es sich um einen Firmenserver handelt, müssen Sie trotzdem vorsichtig sein. Ich habe diesen erbärmlichen Tag einfach aufgeschrieben php7.0 (Das ist sehr wichtig, sehr wichtig)
Wenn Sie diesen Schritt nicht ausführen, führen Sie ein direktes Upgrade durch. Ich bin sicher, dass 90 % Ihrer Server hängen bleiben. Was den Grund betrifft, weil Ihre vorherige Konfiguration weg ist , und die neu installierte PHP7.1-Konfiguration ist neu. Wie läuft Ihr Server ohne verschiedene Erweiterungen? Wenn Sie keine Erweiterungen installiert haben, herzlichen Glückwunsch, müssen Sie natürlich kein Backup erstellen. code> kann nur mehr als zuvor sein, nicht weniger. Wenn Sie die vorherige configure
vergessen haben (niemand wird sich sicher daran erinnern), überprüfen Sie phpinfo
php7.1-Quellcode herunterladencp -P /usr/local/php /usr/local/php70Nach dem Login kopieren%C2%A0php%C2%A0-i%C2%A0%7C%C2%A0grep%C2%A0configure
php -i | grep configure | sed -e "s/Configure Command => //; s/'//g"Nach dem Login kopierenStarten Sie die Installation von 7.1
configure
只能比以前多而不能少了,如果你忘记了以前的configure
(肯定没人记得),查看phpinfo
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/
替换一下就可以获得之前的configure
命令
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
下载php7.1源码
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
开始安装7.1
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
这样基本就安装完成了,简单吧,是很简单,但是坑来了
开始填坑
既然是升级,配置当然和以前一样就好了
[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
扩展的坑,以前装了什么扩展,现在都要重新安装了,而且不能在以前的扩展包文件夹下安装,必须是新的扩展包文件夹
,这很重要,不然你一直执行php -v
都有类似下面的问题
systemctl restart php-fpm
如果忘记安装了什么扩展,看一下扩展目录有什么就行了:
systemctl status php-fpm -l
其中opcache.a opcache.so
是自带的,其他的都是新增的。其他扩展怎么装,就不告诉你了,如果你其他扩展装的很多的话,那恭喜你,你又可以好好练一遍了
重新启动php-fpm
rrreee查看状态
rrreee剩下的坑,代码的坑
这个就有点丢脸了,如果你代码写的不怎么严谨的话,估计error.log
rrreee