【実務】実際のシステムトラブルへの対応【WP編①】

2026年01月15日にWEBサーバーへアクセスできないと言うトラブルが発生した。
この問題はWordPressの死活監視機能で搭載されている、PHPでエラーが発生した時に送信されるメールを受信したことで発覚した。

WordPressの警告メール

このメールを読むと、WooCommerce for Subscription のプラグインで発生していると表示されいている。
しかし、WordPressではメールで指定されている内容以外でもエラーが発生している可能性があるため、他の原因も考慮して作業を行う。

まずメールに添付されているリカバリーモードへのURLへアクセスし、原因となっているプラグインの停止などを行う必要がある。

実際にアクセスを行ったが下の写真のようにリカバリーモードへ アクセスできない状態 になってしまっている。
こうなるとWordPressの標準機能から復旧するのは 困難 になるのでバックエンドからの復旧を試みることにした。

サイト常に表示されたエラー文

まずこのメールを受信した時点でほぼ確実にPHPでエラーが発生していることがわかる。
その為、真っ先にPHPのバージョンの確認を行った。

運用PHPバージョンの確認

PHPのバージョンは 8.2 となっており、これは現在の最新版でエラーが起こる前から変わっていない為、PHPのバージョンエラーが原因ではないことがわかった。

そこで内容の特定には時間がかかると判断し、現運用環境のクローンが動作している開発環境を用意し、バックアップの復元を行う ことにした。
サイトの自動バックアップで保存されているファイルを確認し、実際にバックアップの復元を行う。

サイトのデータバックアップの確認
バックアップを行う

復元が完了し、サイトが元の状態に戻ったことを確認し、WordPressの管理パネルへアクセスを行う。

バックアップ復元後
復旧したサイトのトップページ

管理パネルを確認すると自動更新がオンになっているアプリが3個アップデート待機になっていることがわかった。
この時点でほぼ 確実に この3個の自動更新のどれかが原因になっていることがわかる。

プラグインの更新待機欄

また、3個のうちでも翻訳の更新が原因になることはあまり考えにくい。その為実質原因はプラグイン更新の2個のどちらかである。

今作業している環境は実験環境のため、それぞれアップデートを行ってみることにした。
まずは Google Site Kit からインストールを行う。

Googleの更新
Googleの更新完了

Google Site Kitは まったく問題なく インストールを行うことができた。

続いて WooCommerce Stripe ゲートウェイ のインストールを行う。

Stripeゲートウェイの更新
Stripeゲートウェイの更新後

はい。
予想通りWooCommerce Stripe ゲートウェイ のプラグインをインストールし、サイトを再読み込みを行うとサイトでエラーが発生しアクセスできなくった

今回エラーが発生してしまったものは Stripe の決済システムであり、メールで原因とされていた WooCommerce for Subscription とは別のものであることがわかった。しかし、これは全く関係がないのではなく、おそらくStripeの決済システムのアップデートに Subscription 側が未対応であり、Subscription のエラーとして発生してしまたと考えられる。

原因が決済システムである以上停止するわけにもいかず、バックアップから復元した過去のシステムで問題なく運用できているため、Subscription のプラグイン開発側の対応を現行の環境のまま待機することにした。

そこで自動アップデートでまたトラブルが発生しないように以下のコードをバックエンドに追加し、WordPress側で自動更新が行われないように変更を行なった。

add_filter('auto_update_plugin', '__return_false');

実際にサーバー運用を行っていると、今回の場合のような自動アップデートや利用しているAPIやサービスの停止などが知らぬ間に発生し、自分の気づかないうちにトラブル等に発展してしまうことがある。

そのようなとき、インシデントの発生をさせないのが一番ではあるが、発生してしまった際に問題発生からどれほど早く復旧できるかがサービスなどの開発でより重要になることがわかる。

著者

関連する投稿

Back to top