WordPressに繋がらない!「Fatal error: Uncaught RuntimeException: Cannot rewind file 」

この記事は約6分で読めます。
記事内の外部リンクには、アフィリエイト広告(Amazonアソシエイト含む)を利用しているものがあります

WordPressで記事を書いていたら突然、サイトにアクセスできなくなったので対処法を記録として残します。

同じような事象で悩んでいる方の参考に少しでもなれば幸いです。

※この記事で紹介している対処法の実施は自己責任でお願いします。生じた不利益等の責任は一切負えませんのでご了承ください。

※さっさと解決策を教えろ!という方は5章6章を見て下さい。

この記事の対象読者
・WordPressにエラーがでて接続できない人
・プロに修復頼むのは高いから嫌だという人

WordPressに接続できなくなった

気合いれて記事書くぞー!とWordPressの管理画面にアクセス。

久々に管理画面を見ると何やら更新してくださいとの文字がずらり。
・WordPressのver.5.6へのバージョンアップ
・プラグイン3、4個

無知な私は何も思わずぽちっとすべて更新。

この後、面倒な目に合うとも知らずに…。

記事を書き進めること数時間。

疲れたのでいったん休憩し、数時間後に再開しようと管理画面にアクセスすると謎の文字が出現。

え?ナニコレワカラナイ。

エラー内容

ここからサイト復旧のための戦いが始まりました。
※上級国民の方はプロに頼んで確実、かつ早急に直してもらうのをおすすめします。

ともゆうは庶民なので自分で直すことにしました。

やったこと1:twitterで検索

サーバか何かの障害でみんな困っているかも、と思いtwitterで「wordpress 障害」とか検索しました。

結果、だれもつぶやいていない。

撤退。

やったこと2:エラーコードをググる

エラーコードをgoogleの検索欄に入力して同じ目に合っている人がいないか確認しました。
検索ワード:Fatal error: Uncaught RuntimeException: Cannot rewind

結果、全然出てこない。

・Fatal error: Uncaught Error: Call to undefined method
のような似たようなエラーへの対処法は出てくるのですが、Rnutime Exceptionが出ない。

撤退。

やったこと3:エラーに出ているファイルの中身を確認する

web系知識ゼロですが一応、システムエンジニアを本業にしているのでファイルやソースコードを見ることにしました。

確認したファイルは以下の二つ。
・wp-content/themes/cocoon-master/lib/skin.php
・wp-content/themes/cocoon-master/skins/skin-fuwari-ebicha/option.csv


skin.phpのソースコードの内容的にskinsファイルがあれば~する

的なことが書かれていたので、option.csvファイルの中身を確認しました。

日本語が書かれているだけでよくわからん。

wp5.6にバージョンアップする際にバックアップをとっていたので、

上記の2ファイルの中身を旧・新で比べてみました。

結果、何も変化なし。

撤退。

ちなみにwpのバックアップは「All-in-One WP Migration」というプラグインで取得しました。

このプラグインで取得したバックアップの拡張子は「.wpress」という謎の拡張子だったので、

wpress-extractorというツールをDLして解凍しました。

DLしたwpress-extractor.exeにバックアップ.wpressファイルをドラッグアンドドロップするとこんな感じで解凍されます。

解凍先は.wpressと同じディレクトリ。

ファイルの中身の比較はWinMergeというツールで行いました。

やったこと4:プラグインの停止

エラーコードを検索する中でこんなコメントを発見。


プラグインのテーマとプラグインの更新を一気にして」しまうと、新しいファイルと残すデータの置き換えが不完全で終わることが起こりやすいです。また、テーマだったか、どのプラグインだったかの、何を実行してからエラーがでたのか、把握するのに手間かけることになります。

参考:Fatal errorの対処法

私のエラーコードにはプラグイン名は一つも出ておらず、関係ないと思って無視していました。

ですが、打つ手をなくした私は試してみることに。

こちらのページではプラグインが原因と分かっていたので、一つずつプラグインをリネームすることで原因を絞り込んでいました。

私はプラグインが原因なのかわからなかったのでひとまず、プラグインのルートフォルダごとリネームしました。

手順は以下の通り。

Xサーバのファイルマネージャーにログイン

どのサーバかは人によると思いますが、私の場合はXサーバー。
参考:Xサーバーログインメニュー

Xサーバログイン画面

ドメイン名>public_html>wp-contentに移動

pluginsフォルダをリネーム

対象のフォルダを選択した状態で画面上部のツールバー「名前変更」からリネームできます。

変更後の名前はなんでもいいですが、plugins_oldとかでいいと思います。

WordPressの管理画面にアクセス

繋がった。大勝利。

どうやらプラグインに問題があったようです。

このままだとすべてのプラグインが無効な状態ですが、とりあえず繋がるようになったので一安心。

ここからは原因となったプラグイン掃討作戦が始まります。

管理画面に繋がるようになってからやったこと

プラグイン掃討作戦は以下の通り。
前提:wp5.6に非対応なプラグインが悪さをしている
作戦:ファイルマネージャーからプラグインを一つずつリネームして悪さをしているプラグインを特定する

対象が複数あった場合にこの作戦は通用しないのですが、ひとまずやってみることに。

手順は以下の通り。
1.ドメイン名>public_html>wp-content>plugins 内のフォルダ名をリネーム
2.管理画面にアクセス
A.管理画面にアクセスできない場合
3.リネームしたフォルダを元に戻す
4.別のフォルダをリネーム
5.管理画面にアクセスできるまで2~4の繰り返し
B.管理画面にアクセスできた場合
6.リネームしたフォルダを削除する

見つけました悪いプラグイン。
※wp5.6未対応なだけで悪いプラグインではありません。

私の場合は「p3-profiler」というプラグインが悪さをしていました。

このプラグインは各プログインがどれくらいwpに負荷を与えているかの割合を出してくれるものです。

管理画面にアクセスできなくなる前に「なんかWordPress遅いなぁ」と思って調査のために入れていました。

動作を改善するために入れたプラグインで動作すらしなくなるなんて…悲し。

まとめ

結論、悪さをしていたのはプラグインでした。

対処法としてはFTPやファイルサーバから直接プラグインを無効化して原因のプラグインを削除すること。

これで解決します。(たぶん)



コメント

  1. aki より:

    ともゆう様

    はじめまして、akiと申します。

    私も同様にp3-profilerをインストールしたとたん、管理画面にログインできず
    エラー画面となってしまいました(;^ω^)

    藁にも縋る思いでともゆうさまのページにたどり着きました。
    記事の手順通り、リネームを試したら管理画面に入ることができました。

    無事復旧することができて、とてもほっとしております。
    本当に感謝です、記事にしてくださりありがとうございました!
    これも何かの縁ですので、今後もともゆうさまのサイトを拝見させていただきます。

    • ともゆう より:

      aki様

      コメントありがとうございます
      お役に立てて光栄です!

      藁にもすがる思い…とてもわかります。本当に焦りますよね。

      私もakiさんのブログ拝見させて頂きました!
      今後ともよろしくお願いいたします

  2. ゆうたろう より:

    助かりました!!大号泣

    p3-profilerのプラグインを入れた後、同じエラーが発生し、記事内の対処をさせて頂きました。

    無事復旧し、安堵しています。

    本当にありがとうございます。

  3. てつ より:

    ありがとうございます!ログインできなくて困っていた所、このサイトを見たおかけで直りました(T_T)本当に感謝です!!

  4. ちびいち より:

    ブログ初心者で、ブログ編集画面が重くて原因を探るため、同じようにP3のプラグインを入れて、ログインできなくなりました。
    今日は寝ないで作業しなくちゃいけないな・・・と思っていたところ、こちらの記事に辿り着き、寝不足を回避できました!
    同じような手順で作業したところ、ちゃんと直りました!
    これを記事にしてくれて本当にありがとうございました!

タイトルとURLをコピーしました