【Wordpress】テーマ編集で「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。SFTP を使うなど、他の手段で PHP ファイルの変更をアップロードする必要があります。」と出た時は | Knowledge Base

テーマ編集で「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。SFTP を使うなど、他の手段で PHP ファイルの変更をアップロードする必要があります。」と出た時は

この記事を読んだときにはもう・・・かも知れませんが何でそんなことが起こったの?どうすれば今後回避できるの?という意味合いも込めて、紹介しておきます。

この現象が発生したのは知人のサイトにあるテーマを編集したときのこと。フッターの内容をちょっと変えてほしいということで「そんなの楽勝じゃん!」と思い編集画面を開き、更新ボタンをクリックしたときのことでした。

クリックすると「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。SFTP を使うなど、他の手段で PHP ファイルの変更をアップロードする必要があります。」というメッセージ。いつものロールバックメッセージとは少々違う内容だったのでそのままにしてネットで検索、すると・・・いろいろなサイトでバグだから再度更新ボタンをクリックすればそのまま別のページへ行っても大丈夫的なものが紹介されていました。

それを信じて再度更新ボタンをクリックし、ページを離れようとしたときアラートが出ましたが、まあ大丈夫だろうと別ページへ移動したら・・・表示が崩れてしまったんです。

何で??で再度フッターの内容を見てみると・・・なんと中身が空っぽ!!(泣)。幸い無料のテーマでしたし、バージョンが違ってもフッター(footer.php)の内容は変わってなかったようなので、上書きしたら元に戻りました。もしもそうじゃなかったらと思うとちょっと青くなりました。

私のようにならないためにも以下のことをやるようにしましょう(現在では必ずやるようにしてます)

テーマ編集前にバックアップを取る

これが一番の対処方法。FTPなどで該当ファイルのバックアップを取っておくということです。もしもFTPでのファイル転送が使えないときは

「File Manager」プラグインを使うと、Wordpressの管理画面で操作しているのにも関わらず、パソコンのエクスプローラーやFTPソフトのようにファイルの操作、移動、コピー、アップロード、ダウンロードができるようになります。

など管理画面からファイルの転送が使えるプラグインを使えばできることが多いですからインストールしておくといいかも知れません。

既に画面から離れられなくなったときは

そりゃバックアップがあれば復元可能でしょうよ!と思われますよね?こういうトラブルは突然やってくるんですから、遭遇したときにはすでに遅しなんてこともあるかと思います。

そんなときは、編集ページから離れる前に以下の手順で復旧できる状態を作りましょう

  1. ・・・移動しますか?とアラートが出たら迷わず「このページに留まる」を選択します
  2. アラートが消えたら内容をすべてコピーし、メモ帳(できればきちんとしたテキストエディタが望ましい)に貼り付けて保存する

これで簡易的にバックアップができたので、更新して、アラートが出たらそのページから離れてみます。

もう一度同じ編集画面を開き、内容(ソース)が表示されればラッキーです。

もしもダメだったら・・・前述したバックアップのファイル名をエラーが出たファイル名(拡張子も含む)にして元の場所へ上書きすれば復元できます。

そもそもこのエラーが起こる原因は何??

原因が知りたいところではありますが、このエラーについては諸説あります。例えば

  1. テーマとプラグインとの競合
  2. WordPressとテーマとの競合
  3. サーバーの権限設定

などなど俗に言う「環境によって・・」ということのようです。

でも「致命的なエラーを回避するために送信に失敗しました」と出た後で何かするというのは無理ですから、ひとまず回避して復元し、後から原因を探るというのが正しい方法だと思います。

ちなみに

コードは合っているのにfunctions.phpの更新ボタンをクリックすると「PHP Parse error: syntax error, unexpected T_STRING in…php on line...」が出るのはなぜ?実体験から解消方法を紹介します

のようなエラーが出て「ロールバックしました」と書かれている場合にはきちんとエラーが出る前の状態に戻っており、更新ボタンをクリックすればアラートなしで更新されますので安心して大丈夫だと思います(不安であれば紹介した方法でソースのコピーを取っておきましょう)。

トップへ戻る