【鯖】PHPバージョンアップ検証 (2) -仮想環境-

面倒なアップデート作戦。

 

【鯖】PHPバージョンアップ検証

 

 

 

また8に上げる時にモメる気がするので、自分への備忘も兼ねて。

 

結論から言うと、俺の環境だと楽勝だった。

仮想鯖で だけど。

 

以下の手順は俺環境で検証したもので、全ての環境で保証するものではありません。

カスタマイズしていれば相応の修正が必要です。

あくまでも自己責任で。

 

例として

  • PHP7.3系からPHP7.4系へのアップデート
  • httpd を使っている
  • remi が入っている
  • 変更が多い設定ファイルはファイルを分けている(httpd)

 

こんな進め方で。

  1. 消える設定ファイルをリネームしておく ←前回漏れていた
  2. PHP7.3&関連する物をアンインストール
  3. PHP7.4&関係する物をインストール
  4. 設定ファイルを修正
  5. httpd再起動

 

 

1. 消える設定ファイルをリネームしておく

 

PHP7.3を消した時に問答無用で消してくるファイルをリネームしておく。

 

俺の環境の場合はhttpdの設定ファイル。

初期状態から特に何も設定していなければ、この手順は飛ばしてOK。

 

cd /etc/httpd/conf.d
mv php73-php.conf php73-php.conf.73to74

 

httpd.confなんかも大事だけど、自動で待避してくれるはずなので

心配性な人はリネームするなり待避するなり。

 

あとphp.ini。これもリネームして待避してくれるはずなので

心配性なh(ry

 

他にも何かあればリネームするなり待避するなり。

 

 

2. PHP7.3&関連する物をアンインストール

 

一応何があるか確認しておく。

 

yum list installed | grep php

 

php73* がずらずらと出てくるはず。

あとphp73*の名称ではない関連するものも。

 

消えてもらう。

 

yum remove php73-php php73-php-common

 

エンターキー ポチッとな

 

commonを消さないと色々残るので一緒に消している。

関係なさそうに見えるパッケージももりもり消えるけど気にしない。

かなり心配になるw

 

残っていないか確認。

 

yum list installed | grep php

 

何も出なければOK。

 

 

3. PHP7.4&関係する物をインストール

 

7.4 をインストール。

 

yum install php74-php.x86_64

 

あと俺の環境で使っているパッケージも追加でインストール。

 

yum install php74-php-mysqlnd.x86_64 php74-php-opcache.x86_64 php74-php-pecl-apcu.x86_64 php74-php-pecl-igbinary.x86_64 php74-php-pecl-memcache.x86_64 php74-php-pecl-memcached.x86_64

 

何が足りないか わかっていれば全部列挙して1コマンドにすれば良いんだけど、なんとなくw

 

 

4. 設定ファイルを修正

 

修正と書いたけど実際には違う場合もある。

 

conf.d に設定ファイルが増えているはずなので、チェックする。

 

ls -l /etc/httpd/conf.d

 

php74-php.confが居るはず。

7.3の時にここをイジっている場合は、然るべき修正を。

普通の人は変更してないだろうから、その場合はスルーで。

 

httpd.confは丸っと入れ替わってしまっているはず。

 

cd /etc/httpd/conf

 

httpd.conf.rpmsaveというファイルに自動で待避していてくれる(多分)ので、

httpd.confhttpd.conf.rpmsaveの差分をチェックしてマージする。

俺の場合、差分は自分で変更した部分だけだったのでファイルの入れ替えだけ。

 

mv httpd.conf httpd.conf.php74
mv httpd.conf.rpmsave httpd.conf

 

ここまで書いて、普通はmvじゃなくてcp使うよなぁ とか思ったけど

この意味がわかる人はそうしているはずだろう。

なので気にしない。

 

 

あとはphp.ini

 

cd /etc

 

これもhttpd.confと同じようにリネームして待避していてくれる・・・はず。

同様に差分をチェックしてマージする。

俺の場合、コレも差分は自分で付け足した部分だけ。

なので入れ替え。

 

mv php.ini php.ini.php74
mv php.ini.rpmsave php.ini

 

 

5. httpd再起動

 

httpdを再起動する。

 

systemctl restart httpd

 

一応動いているかの確認も・・・。

 

systemctl status httpd

 

動いていてくれるはず!

 

 

古いプラグインを使っていると7.4に上げた時に動かなくなるかも。

俺は大丈夫だったけど。

 

 

実鯖でやるとどうしても止まる時間ができてしまうのが辛いところ。

 

 

そんなにアクセスがあるわけじゃないから無用な心配だけど_(´ཀ`」 ∠)_

 

カテゴリー: PC, Web, ソフトウェア, 技術的 タグ: , , ,  [パーマリンク]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です