PHPのバージョンアップその2

 今日も見に来てくださって、ありがとうございます。石川さんです。

 そうそう、昨日のPHPのバージョンアップ、やっぱりうまくいっていないよねぇ、と、いろいろ調べましたので、記録しておきます。

 いや~、ひどい目にあいましたよ~!

 慌てていろいろやったので、記憶に残っている限りで原因はこれかなぁ、という感じですが、ご参考になれば幸いです。

 最初に、google-fluentdがエラーを出していたのが原因なのかなぁ、と、思ってこちらを調べてみました。こちら、ログを出力するためのサービスだそうです。Googleさまがトラブルシューティングをここに書いておいてくれていました。Google Cloud MarketPlaceからのイメージを使っている場合は、Loggingエージェントが無効になっていて、そのためにエラーが出ているということがわかりました。そうそう、このWordPressのサイトを立ち上げるときに、MarketPlaceからイメージを利用させていただきまして、あっという間に構築したのでした。それで、このLoggingエージェントを有効にする方法もここに記載してくれてあったので、そのとおりに実行するとエラーが出なくなりました。
 が、、、PHPのバージョンは依然として変化ありませんでした。

 PHPのバージョン、7.0.33がまだ動作していると言われているのは、このバージョンのPHPが残っているからだよねぇ、と思ったので、思い切ってアンインストールすることにしました。なんでそんなに思い切っちゃいましたかねぇ。そうそう、こんなコマンドでした。

$ sudo apt-get remove php7.0 php7.0-cli

 そうすると、もう使わなくなったものは、このコマンドで削除できますよ~、と、言ってきたので、調子に乗って、実行してみました。

$ sudo apt autoremove

 そして、ヘルスチェックはこれでどうなったかしらと見に行ったところ、PHPのスクリプトがそのまま出力されてきました。そう、どのページに行っても、全部スクリプトなのです。動かなくなったけど、一歩前進ですね。ちょっぴり後退したようにも思えますが、やったことが影響あったということで、前進したと思いましょう。
 これは、いままで動いていたモジュールがなくなったのが原因でした。ただ最初は原因がわからないので、あちこち調べて、バージョンアップしたり、設定ファイルをいじったり、いろいろとウロウロしてしまいました。

 最終的に、効果があったのは、以下のコマンドだと思います。

$ sudo apt-get install libapache2-mod-php --reinstall   # ←これは必要なかったかも知れない
$ sudo a2enmod php7.4
$ sudo systemctl restart apache2

 最初は、単に.phpのファイルが認識できていなくて、phpが実行できないから、その設定をすればいいのかな、と考えていて、ずっとそっちの路線で調べていたのでした。この「a2enmod」というコマンド、今回初めて発見しました。どうやらapache2のモジュールを有効化するコマンドということだそうです。インストールしたけど、有効になっていなかった、というのが原因だったということなのね。

 ということで、サイトヘルス、良好になりました。

 ふ~、まだまだ知らないことがたくさんあるなぁ、と、思い知らされた事件でした。いやー、バックアップ取って実行していたから、いろいろと思い切ってやることができました。クラウドのサービス、すばらしいですね!
 ということで、これからも精進いたします。

 しばらくたって落ち着いてきたので、PHPのプロセスを確認してみると、php-fpmは7.3が動いているようでした。

$ ps ax | grep php
26168 ?        Ss     0:00 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf)
26169 ?        S      0:00 php-fpm: pool www
26170 ?        S      0:00 php-fpm: pool www
29794 pts/0    S+     0:00 grep php
$ 

 他のは7.4になっていたので、これもバージョンアップしておこうと、以下のコマンドを実行しました。

$ sudo a2enconf php7.4-fpm

 よく見ると、上記コマンド実行時のログにこんな風に出力されていました。

NOTICE: Not enabling PHP 7.4 FPM by default.
NOTICE: To enable PHP 7.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.

 はい、ちゃんと、書いてあったのですねぇ。まだデフォルトで使えるようになってないですよ。使えるようにするには、コマンド実行してね、って。

そして、a2enconf php7.4-fpmを実行したら、次にやることがちゃんと出ていました。

Enabling conf php7.4-fpm.
To activate the new configuration, you need to run:
  systemctl reload apache2

apache2をリロードして完了です。もしかしたら、昨日のコマンド実行時にもNOTICEが出ていたのかもしれないなぁ、ということで、ログをちゃんと見てれば回避できたかもしれないトラブルでしたね。

“PHPのバージョンアップその2” への1件の返信

コメントを残す

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


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。