ロリポップサーバーで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コアバージョン以外に文字コードも原因と少しハマりましたが正常に動作するようになり良かったです!
コメント