WordPressの更新画面にアクセスするとMySQLのwp_optionsでオーバーヘッドが増大して全画面で500InternalServerErrorになる

前々から非常に困っていた事象がWordPressの手動アップデートで訳も分からず解消したので記しておきます。

発生していた事象

タイトルの通りです。WordPressの管理画面で「ダッシュボード>更新(update-core.php)」にアクセスした瞬間、MySQLのwp_optionsテーブルでオーバーヘッドが増大し、管理画面だけではなく、全画面で500 Internal Server Errorになってしまいます。WordPressのデバッグモード等で確認してみると、どうやら、Apache(PHP)からMySQLへクエリを投げた時にTimeoutに陥ってエラーとなっているようでした。phpMyAdmin等で「最適化」によりwp_optionsのオーバーヘッドを取り除いてやると、対症療法的には解消します。いくら調べても根本原因に辿り着かなかったことと、更新画面にアクセスしなければ発生しないことから、数年もの間(長い!)直視しないでおいた問題でした。

解消方法

冒頭でも触れたように、時代錯誤にもWordPressを手動更新してやれば解消します。自動更新機能が存在しなかった時代のWordPressから、自動更新が存在する時代のWordPressに更新する手順として、WordPressの公式ドキュメントに整理されています。手順の中で、旧ファイルを消すという点がポイントだったようです。

数年続いていた本事象により、全くWordPressが更新できなくなったことで、セキュリティ的に心配だったので、何度か手動での更新はしていました。その際、最新ファイルで上書きすることだけで対応していました。そのような、旧ファイルを消さない手順では解消しませんでした。

解決した今も、相変わらず原因は不明だったわけですが……。

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください