「致命的なエラーをチェックするために……」というエラーでphpが編集更新できない

「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。」php更新ができない。

原因は、Wordpressの新機能だそうで、「その変更をすると良くないので、しないでくださいよ。」ということだそうですが、どうもわかりません。

なんの問題もなかったのに、テーマをアップデートして、Googleの自動広告コードを張り直そうとしたら、このエラー出現です。

例のパンくずリストの警告問題解消でテーマをアップデートしたのちのことで、こちらのサイトをすべて完了させて、ふたつ目のサイトの作業の最後に、またもや何が何だかになってしまいました。内容こそ違っても、同じことをすべてしてきたはずのサイトですが、原因はわからないし、何をしたら良いのか、パンくず問題でも頭を抱えましたが、再びたいへんな事態です。

深い森からパンくずを見つけながら帰ろうと思ったら、パンを鳥に食べられてしまい、迷った挙句に魔女のばあさんの家にたどり着いたようです。

結果的には、プラグインがいたずらをしていて、一旦停止して更新ができ、復旧です。魔女をオーブンに放り込んで脱出ができました。

 目次

〇 エラー状況

〇 試した ① サーバーのphpバージョンの変更

〇 試した ② 2サイトのサーバー内、php、phpini、WAFの相違チェック

〇 試した ③ file.php内の一部コメントアウト

〇 試した ④ プラグインのチェック

〇 あとがき

 エラー状況

CSS編集に、Googleの自動広告コードをコピペして更新ボタンをクリックすると、ためらわずに

「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。」

とメッセージが出て、何もできません。

サイトの各ページは、広告が表示されないだけで、その他に何も問題は感じられなく、途方にくれます。

 試した ① サーバーのphpバージョンの変更

藁にもすがる思いでサーバー会社のサポートで聞くと、PHPバージョンを7.0.33や5.6.405などと変化させて、確認してください。と言われ、試みるものの何の変化もなし。未だ、同じ文言のエラー。

 試した ② ふたつのサイトのサーバー内、php、phpini、WAFの相違チェック

ひとつのサイトには問題が生じていないので、双方の「php、phpini、WAF」の設定に相違がないかをチェック。
すべて同じであった。またもや、萎えてくる。

 試した ③ file.php内の一部コメントアウト

いろいろな文言で検索をして、この手のエラーに関する記事を拝見しました。

余計なコードチェックがあるからエラーになるので、それを削除すればよい。

wp-admin/includes/file.php内の数十行をコメントアウトすれば解消するというので、少々怖いながらもFTPでfile.phpをダウンロードして、該当の部分をコメントアウトさせ、再度アップロードさせた途端、たいへんな事になりました。

画面が真っ白になり、ログインも閲覧もすべてできなくなり、汗をかいていた脳も真っ白になりました。

突然に画面が真っ白になって、頭も真っ白

恐る恐る、変更したfile.phpを元に戻し、アップロードをしたら回復できましたが、もう頭は混乱状態で、修復がトラウマになっています。

コメントアウトは「絶対にコードにミスがないと自信があればやってみてください」という記述を見ました。ということは、素人が手を出す領域ではないことを言っていて、深く反省です。

でも、ということは、もう少し簡単なところで復旧ができるはずだ。誰しもがこんなに難しい対処をしているのではなく、何かどこかにあるはずだ。

 試した ④ プラグインのチェック

そうだ、簡単なことを忘れていた。

キャッシュのクリアとか、プラグインのチェックを忘れていました。まず最初に実行するチェック方法であることを忘れていました。汗顔の思いです。

原因となるプラグインが特定されているわけでない。

  • すべてを停止して確認。OKならば、ひとつずつ有効化して、該当を発見する。
  • ひとつずつ停止させ、更新できるようになる該当を見つける。

ということで、全部いっぺんに停止させるのは、真っ白トラウマが残っていて、まずはひとつずつ。

まずは、ログイン画面や管理画面のセキュリティーで使用している「SiteGuard WP Plugin」という働き者がいます。プラグイン画面でなく、メニューに「SiteGuard」と表示されていて、随分目立っています。今回のエラーがセキュリティーに関係しているので、まず疑って最初にチェック。

  • SiteGuard WP Pluginをクリック
  • 一番の項目、管理ページアクセス制限のページで機能OFF
  • 変更を保存

管理ページアクセス制限とは、ログインしていない接続元から管理ディレクトリ(/wp-admin/)を守ります。これですね。

最初のチェックの更新をしたところクリア!なんと一発目でOKでした。

WordPressでphpファイルが更新できないエラー 「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。」の対処法

そあるぶろぐさんに随分勉強させて頂きました。感謝。
いろいろな記事を拝見すると、このSiteGuard WP Pluginは問題がなかったという方から、私と同様の方まで様々でした。ということは、この種のことはプラグインが特定できないということなのですね。

 あとがき

最初に戻る。これは迷った時の鉄則ですが、最初に実施しなくてはいけないことを実施していませんでした。

まず、トラブル修復の第一歩はこれでした。キャッシュのクリアー、プラグインの停止。勉強しました。

SiteGuard WP Pluginの管理ページアクセス制限は、更新完了後再びONにして、働いてもらっています。良かった。この問題解決もパンくず同様に2日半かかり、計5日を費やすことになりました。眠い。

Google Search Console により、「パンくずリスト」関連の問題が 1 件検出されました。というメール。解決方法がわからず苦戦をしたものの、Simplicity2.8.5のリリースにより、素人の私でも解決できた内容を説明します。