WordPress PHPバージョンアップ後に管理画面が真っ白になった現象の原因と改善方法

ロリポップサーバーでWordPressサイトを運営されているお客様よりPHP5系からPHP7.4にバージョンアップ後に管理画面が真っ白になってログイン出来なくなったとご連絡をいただきました。

状況確認と復旧するまでに行った内容をメモとして書いていきます。

状況確認1

WordPressバージョン確認

wp-includes/version.php の内容からWordPress 4.5.24 とかなり古いバージョンを利用されていました。

$wp_version = '4.5.24';

デバッグログ確認

デバッグログを確認すると PHP 7.4 で非推奨となっている関数がありエラーになっているようでした。

PHP Deprecated:  Function get_magic_quotes_gpc() is deprecated in /home/users/2/xxxxxx/web/wp/wp-includes/load.php on line 610

WPコアバージョンアップ1

状況確認を行いPHPのバージョンを元の5系に戻すことも考えましたがサポートが切れていることとロリポップの仕様で戻せないようでしたので、WordPressのコアバージョンアップを試みることにしました。

WP-CLI をインストールしておりましたのでSSHで接続してバージョンアップを試みましたがエラーが出てしまいました。

$ wp core update --version=4.7.21
PHP Parse error:  syntax error, unexpected '?' in phar:///home/users/2/xxxxxx/bin/wp-cli.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1231) : eval()'d code on line 1

WP-CLIのバージョン他、利用出来る状況か念のため確認しましたが特に問題はなさそうでした。

$ wp --info
OS:     Linux 4.19.36-300.123.1.hl6.x86_64 #1 SMP Thu Apr 25 13:54:53 JST 2019 x86_64
Shell:  /bin/bash
PHP binary:     /usr/local/php/7.3/bin/php
PHP version:    7.3.17
php.ini used:   /usr/local/php/7.3/etc/php.ini
MySQL binary:   /usr/bin/mysql
MySQL version:  mysql  Ver 14.14 Distrib 5.6.11, for Linux (x86_64) using  EditLine wrapper
SQL modes:
WP-CLI root dir:        phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:      phar://wp-cli.phar/vendor
WP_CLI phar path:       /home/users/2/xxxxxx/web/wp
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.5.0

状況確認2

wp-config.php を手元のエディタで開いてみたところ UTF-8 with BOM となっておりましたので、UTF-8 に文字コードを変更しました。

WPコアバージョンアップ2

上記の文字コード変更後に再度 WP-CLI のアップデートコマンドを実行してみましたが、次は問題なく完了まで進むことが出来ました。

wp core update --version=4.7.21 --force

確認

WordPressコアバージョンアップと wp-config.php の文字コードを変更後、管理画面のURLにアクセスしてみましたが、IDとパスワードの入力を受け付ける正常な表示を確認することが出来、ログインも問題なく出来ました。

WPコアバージョン以外に文字コードも原因と少しハマりましたが正常に動作するようになり良かったです!

コメント

タイトルとURLをコピーしました