こんにちは、Zukkaです。
元々記事の更新頻度が高い方ではないのですが、それにしても2週間も空いてしまった今回。
実はWordPressの画面に「Warning」(警告)のメッセージが出まくって、更新したくてもできない状態になってしまっていたのです。
今日は、そのエラーと対処した方法について書いていきます。
テーマを更新したら全画面に「Warning」!?
先日WordPressを起動したら、テーマの更新に数字の「4」が表示されていました。
プラグインなどは全部自動更新にしているので、あまり手動でで更新することはありませんし、使用していないテーマをそのままにしていたので今までテーマは更新していなかったのです。
「4」の表示を見て「4?」と思いながらも、何気なくポチッとクリックしてしまいました。
更新中に「あ、テーマ削除するの忘れてたけど大丈夫かな?」とチラッと考えてのですが、考えているうちに更新が終わり、ダッシュボードを見ると画面の上部に長文が表示されていました。
「Warning: Trying to access array offset on false in /home/c8744983/public_html/kyosuru.com/wp-content/plugins/siteguard/really-simple-captcha/siteguard-really-simple-captcha.php on line 353」
え、「Warning」!?警告!?
ページを更新しても消えません。
サイトを確認してみると、サイトの画面の上部にも表示されていました。WordPressのログイン画面にも表示されています。
これは、たぶんまずい。
まずは翻訳して読んでみました。
「~.php の 353 行目で false の配列オフセットにアクセスしようとしています」
んー?…GoogleとYouTubeで検索しまくります。
「WordPress、警告、~.php」
「WordPress、Warning、~.php」
「WordPress、テーマの更新、Warning」
結果「phpのエラーの対処法」とか「エラーでログインできないときの対処法」などは出てきますが、ログインできない訳ではありません。結局どれもよく分からず、ピッタリくる結果は出てきませんでした。
結局「仕方ない、分からない状態で色々設定をさわるよりは、エラーが出る前に戻した方が早いよね」という結論に達しました。
復元1回目
私は【WordPress】初めてのブログ・最初にやっておきたい設定【Cocoon】の時に、「BackWPup」というプラグインを有効化していました。「BackWPup」は定期的にWordPressのバックアップを取ってくれるプラグインです。
「BackWPup」の最新のバックアップデータが5日前くらいだったので、それを使用してConoHa WINGのファイルマネージャーで復元をしてみました。
復元中に「sqlファイルのインポート」が出来ず「ファイルが選択されていません」とメッセージが出ましたが、終了後に画面を確認してみるとダッシュボードとサイト画面上部の警告は表示されなくなったので、「あ、直った!」と思いその日は時間切れでそのまま画面を終了しました。
Warning再び!?復元2回目、3回目
翌日WordPressにログインしてみると、またテーマの更新が表示されていました。
使用していないテーマをそのままにして更新してしまったのが原因ではないかと考えていたので、まずは使用していないテーマを3つ削除しました。
その上で使用している「Cocoon」の親テーマを更新をしましたら、なんとまた同じ「Warning」の表示が!プラグインは自動更新にしているので何か更新されたのかもしれません。
仕方ない、もう1度復元します。
昨日DLしたバックアップデータを使用して再度復元をしてみましたが、表示は変わりません。
今度は「BackWPup」からバックアップデータをDLし直して復元してみましたが今度は別の警告表示が!
「Warning: include(/home/c8744983/public_html/kyosuru.com/wp-content/plugins/hcaptcha-for-forms-and-more/vendor/composer/../matthiasmullie/minify/src/Minify.php): Failed to open stream: No such file or directory in /home/c8744983/public_html/kyosuru.com/wp-content/plugins/ewww-image-optimizer/vendor/composer/ClassLoader.php on line 571」
「警告: include(~php):ストリームを開けませんでした: ~.php 行 571 にそのようなファイルまたはディレクトリはありません」…??
そしてこの日、WordPressから「サイトで技術的な問題が発生しています」というメールが来ていました。あらら。そうなんです、問題が発生しているので助けてください!
メールに書かれていた対処法でやってみようと、メールにあったリンクをクリックしましたが、エラーが発生したページは開けません。「リカバリーモード」も開けません。
仕方ない、サーバーに問い合わせてみよう。
ConoHaWINGのサポートあてに、今回の経緯とエラー内容をまとめてメールで問い合わせをしました。
問合せの返信がきたので再々々度復元
問合せの返信メールがきましたが、やはり問い合わせた内容だけでは原因は特定できず、ConoHaの自動バックアップで復元してみて…という内容でした。
ConoHaの自動バックアップは2週間分の自動バックアップのデータがありましたので、まずは前回戻したのと同じ7/21に復元してみました。「function.php」をDLし置き換えしましたが「Warning」の表示は消えません。
今度は1番古い2週間前のデータに復元してみました。それでも「Warning」の表示は消えません。
これで消えないならもうブログを全部消して最初からやり直すしかないかあ…と思いましたが、WordPressから来ていたメールに「プラグイン・SiteGuardが影響しているかもしれない」と書いてあったのを思い出し、WordPressのダッシュボード、プラグインで「SiteGuard WP Plugin」を無効化し再度有効化してみました。
あ!「Warning」の表示消えました!!
ええ?もしかして、復元とかしなくても「SiteGuard」を無効化するだけでOKだったのかしら???
…いや、きっと復元したから解決したのよ!と思う事にしました。
まとめ
WordPressの「復元」は最後の手段です。
何かエラーが出てしまった際には、最初に必ず関連するような事例がないか検索して調べるようにしましょう。同じような事例があれば、その最新の事例を参考にしてみましょう。
使用しているサーバーのヘルプページなども調べてみて、どうしても分からなければ問い合わせをしてみましょう。
最後の手段は「復元」になるので、プラグインを入れる、サーバーのバックアップデータを確認するなど、何かあった時のために備えておきましょうね。それと、初期設定は丁寧に、不要な物は最初にきちんと削除しておく事、大事ですね。
とにかく、ブログ丸ごと初期化する羽目にならずに済んで、ホッとしました。