PHP 7.2.8 or 7.2.9 にアップデート後、WordPress で運営しているこのブログが表示されなくなる問題で大変ご迷惑をおかけいたしました。
現象
PHP 7.2.7 から、PHP 7.2.8 にアップデートすると、WordPress のサイトがエラーとなりました。
WordPress を使用しないページや、phpinfo などは正常に動作しました。
ログの保存方法の設定かもしれませんが、下記のログしか残っていませんでした。
2018/08/17 23:04:41 [error] 1239#1239: *154 upstream timed out (110: Connection timed out) while reading response header from upstream
PHP 7.2.8 リリース時は、yum downgrade で PHP 7.2.7 にロールバックして回避していました。
# yum downgrade php-7.2.7 php-cli-7.2.7 php-common-7.2.7 php-json-7.2.7 php-process-7.2.7 php-fpm-7.2.7 php-intl-7.2.7
ただ、リポジトリは最新版とその一つ前しか保管していないため、PHP 7.2.9 に更新後は、二つ前の 7.2.7 へはダウングレードできなくなりました。
対策法
下記のバグが上がっていました。
PHP 7.2.8、7.2.9 と MySQL 8.0.12 を利用していたので、バージョンは一致しています。
同様の報告が少なかったのも、一般的なブログ運営者は、ディストリビューションのリポジトリの PHP、MariaDB を使用しているためなのかもしれませんね。
そのページに書かれている下記の操作を行いました。
# vim /etc/my.cnf --- default-authentication-plugin=mysql_native_password
MySQL をリスタート
# systemctl restart mysqld
これでブログが無事表示されるようになりました。
default-authentication-plugin について
問題になっていた default-authentication-plugin ですが、MySQL 8 では、従来の mysql_native_password に代わり caching_sha2_password がデフォルトになったようです。
7.2.8 で PHP の MySQL に関するコードが変更になったようで、そこで不具合が発生しているようです。