PHP8環境でWordPressが動かない?気づいたら止まっていた __autoloadエラー+cURL error 60 の復旧記録(Xserver)

先日、ある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点。

  1. PHP8で __autoload() エラーによりサイトが落ちる
  2. 管理画面からWordPress本体を更新しようとしてもSSLエラーで失敗
  3. プラグイン更新以前に詰まる

「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-contentwp-config.php は触らず。


③ データベース更新

管理画面に表示される

「WordPress データベースを更新」

を実行。


④ プラグイン・テーマをすべて更新


⑤ PHPを8系へ戻す

最後にPHPを8へ戻して動作確認。

問題なく復旧しました。


今回のポイント

  • compat.php のエラーは原因ではなく“結果”
  • 自動更新が死んでいる場合、FTP手動更新が最短ルート
  • PHPを一時的に下げるのは逃げではなく、復旧のための現実的な手段

PHP8で落ちた状態のまま作業すると、

  • 管理画面に入れない
  • 更新できたか確認できない
  • DB更新も押せない

という詰み状態になりやすいので、まず“動く状態”を作るのが大事です。


同じ状況の方へ

もし、

  • PHP8で突然WordPressが真っ白
  • __autoload エラーが出る
  • WordPressが更新できない(cURL error 60)

この3つが揃っていたら、ほぼ今回と同じケースです。


こういった
「原因が複合していて地味に時間を取られるWordPressトラブル」
の対応も行っています。

管理画面に入れない状態からの復旧や、サーバー絡みのトラブルなど、
自分で触るのが不安な場合はご相談ください。

▶︎ホームページのトラブル解決はこちら

この記事を書いた人

平 真美