ホームページ  >  記事  >  運用・保守  >  centos7 php7.0 を php7.1 にアップグレードする方法

centos7 php7.0 を php7.1 にアップグレードする方法

藏色散人
藏色散人転載
2021-06-19 16:28:132688ブラウズ

centos の次のチュートリアル コラムでは、centos7 php7.0 を php7.1 にアップグレードする方法を紹介します。困っている友人の役に立てば幸いです。

centos7 php7.0 から php7.1 へのアップグレード
なぜアップグレードするのかは聞かないでください。私は運用保守担当者ではありません。運用保守担当者ではなく、企業のサーバーである場合でも注意が必要です。私は丸一日穴を埋めただけです。この情けない一日を簡単に記録します

# 以前の php7.0 をバックアップします (これは非常に重要です)

この手順を実行していない場合は、直接アップグレードしてください。サーバーの 90% がハングアップすることは間違いありません。理由については、以前の構成が失われ、新しくインストールされた php7.1 構成が新しいためです。さまざまな拡張機能がなければ、サーバーはどのように動作しますか?もちろん、拡張機能をインストールしていない場合は、バックアップする必要はありません。

cp -P /usr/local/php /usr/local/php70
php7.0

の設定を確認してください。アップグレードです。もちろん、
configure

は以前よりも大きくすることはできますが、それより小さくすることはできません。前の configure を忘れた場合 (確実に覚えている人はいないでしょう)、phpinfo# を確認してください。 ##<pre class="brush:php;toolbar:false"> php -i | grep configure</pre>

centos7 php7.0 を php7.1 にアップグレードする方法これを置き換えて、前の configure

コマンドを取得します

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

centos7 php7.0 を php7.1 にアップグレードする方法php7.1 ソース コードをダウンロード

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/
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

これで基本的にインストールが完了します。簡単です。非常に簡単ですが、落とし穴があります

落とし穴を埋めることから始めましょう

アップグレードなので、当然構成は以前と同じである必要があります

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

拡張機能の落とし穴 (拡張機能が何であれ)以前にインストールされていたため、再インストールする必要があります。

以前の拡張パック フォルダーにはインストールできません。新しい拡張パック フォルダーである必要があります。

##、これは非常に重要です。そうしないと、 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
拡張機能をインストールし忘れた場合は、拡張機能ディレクトリの内容を確認してください。 <pre class="brush:php;toolbar:false">[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</pre>

opcache.a opcache.so

は組み込みであり、その他はすべて新しいものです。他の拡張機能のインストール方法については説明しません。他の拡張機能をたくさんインストールしている場合は、おめでとうございます。もう一度練習してください。

再起動 php-fpm<pre class="brush:php;toolbar:false"> systemctl restart php-fpm</pre>View Status

systemctl status php-fpm -l

残りの落とし穴、コードの落とし穴

これは少し恥ずかしいことです。コードが非常に厳密に書かれていない場合、

error.log

は現在なくなっていると推定されますこれは非常に大規模であり、独自のコードを修正する必要があるまでには長い時間がかかるでしょう。なぜこのことを取り上げるのでしょうか? 主に、この互換性コードを一日中変更しているからです? (コードの書き方が非常に不十分です)。たとえば、クラスの 1 つのインスタンスによって大きな穴が生じます。 。 。 。 。幸運を祈ります

以上がcentos7 php7.0 を php7.1 にアップグレードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。