先日、あるWordPressサイトで突然こんなエラーが出て表示されなくなりました。
Fatal error: __autoload() is no longer supported
管理画面にも入れず、完全にストップ状態。
さらに困ったのが、WordPressの自動更新も失敗すること。
更新しようとすると、
cURL error 60: Peer's Certificate issuer is not recognized
と表示され、WordPress.orgから本体をダウンロードできませんでした。
今回はこの状態から復旧した記録です。

起きていた状況まとめ
- サーバー:Xserver
- PHP:8系
- WordPress:古めのバージョン
症状は以下の3点。
- PHP8で
__autoload()エラーによりサイトが落ちる - 管理画面からWordPress本体を更新しようとしてもSSLエラーで失敗
- プラグイン更新以前に詰まる
「PHPは新しいけど、WordPress側が追いついていない」典型的なパターンでした。
原因
- PHP8では
__autoload()が完全廃止 - 古いWordPress/プラグイン/テーマのどこかがそれを使っていた
- さらにXserver側のSSL検証で wordpress.org に接続できず、自動更新も不可
つまり、
PHPは新しい
WordPressは古い
しかも自動更新できない
という地味にハマる組み合わせです。

実際に行った復旧手順
① PHPを一時的に7.4へ変更(ドメイン単位)
まずサイトを表示できる状態に戻すため、PHPを7.4へ一時的に下げました。
これで管理画面に入れるようになります。
② WordPress本体を“手動”で更新
自動更新が使えないため、PCで最新版WordPressをダウンロードし、FTPで以下を上書き。
- wp-admin
- wp-includes
- ルート直下の wp-*.php
※ wp-content と wp-config.php は触らず。
③ データベース更新
管理画面に表示される
「WordPress データベースを更新」
を実行。
④ プラグイン・テーマをすべて更新
⑤ PHPを8系へ戻す
最後にPHPを8へ戻して動作確認。
問題なく復旧しました。
今回のポイント
compat.phpのエラーは原因ではなく“結果”- 自動更新が死んでいる場合、FTP手動更新が最短ルート
- PHPを一時的に下げるのは逃げではなく、復旧のための現実的な手段
PHP8で落ちた状態のまま作業すると、
- 管理画面に入れない
- 更新できたか確認できない
- DB更新も押せない
という詰み状態になりやすいので、まず“動く状態”を作るのが大事です。
同じ状況の方へ
もし、
- PHP8で突然WordPressが真っ白
__autoloadエラーが出る- WordPressが更新できない(cURL error 60)
この3つが揃っていたら、ほぼ今回と同じケースです。

こういった
「原因が複合していて地味に時間を取られるWordPressトラブル」
の対応も行っています。
管理画面に入れない状態からの復旧や、サーバー絡みのトラブルなど、
自分で触るのが不安な場合はご相談ください。
