Google Chromeブラウザが魔法の呪文を唱えた。
「このページは動作していません。」
WordPressで制作されたサイトのお引越し作業をしていました。
All-in-One WP Migrationプラグインを使用した時のことです。
エクスポートは問題なく終わったのですが、インポート時に問題が発生!
「あれ、インポートが進まない?」
10分、15分待てどインポートが進みません。
嫌な予感がして別タブからサイトを確認してみると、Google Chromeブラウザが悲しい顔で言いました。
「このページは動作していません。500エラー」
私も悲しくなりました。
この記事では、そんな悲しい経験をしてしまった人のために対処法と原因をお伝えします。
前提条件
引越し元
PHP 7.4
引越し先
PHP 7.4
対処法
php.iniに設定されているmemory_limitを変更する。
まず、WordPressの管理画面に入れるかどうかを確認します。
入れない場合、FTPソフトを使用して、以下のディレクトリ名を変更。
wp-content/plugin
↓
wp-content/_plugin
これで管理画面に入れるようになっていると思います(入れたら元のディレクトリ名に戻しておいてください)。
次に、memory_limitを変更していきます。
サーバーのコントロールパネルから変更できる場合はそちらでも構いません。
wp-config.phpファイルの一番下に以下のコードを貼り付けます。
念の為バックアップを取っておいても構いません。
@ini_set( 'memory_limit', '256M' );
最後に、WordPressの管理画面から再度All-in-One WP Migrationでインポートしてみましょう。
問題なくインポートできれば、解決です。
500エラーの原因は?
今回のケースでは、PHPのメモリ使用量を超えてしまったことが原因です。
メモリ使用量を超えてしまったため、
WordPressの管理画面からはインポートが終わらない、
ユーザー画面からは500エラーが発生したようです。
他にも、PHPのバージョンが違うことが原因のケースもあるようですが、今回は、引越し先も引越し元も同じバージョンなので当てはまりません。
まとめ
冷静に考えればわかりそうですが、調査に時間がかかってしまいました。
pluginディレクトリをリネームした後、管理画面から適当なプラグインを有効化するとシステムエラーが発生したり、プラグインの検索機能が動いていなかったりする場合もmemory_limitが原因かもしれません。
もし同じ現象が発生した方は試してみてください。