自分のサイトをチェックしてみると、突然エラーメッセージが出て表示されなくなっていました。また、海外からの不正アクセスかしら?」と思って、愕然としましたが、とにかくメッセージの用語がわからない…。
いろいろググって調べてみると、結局のところはプラグインの更新によって起こったPHPファイルの誤りだったみたいです。
突然のエラーメッセージ「syntax error」って何!?
自分のサイトにアクセスしてみると、画面は真っ白で次のようなエラーメッセージがが表示されたんです。
Parse error: syntax error, unexpected ‘)’, expecting T_PAAMAYIM_NEKUDOTAYIM in /home/XXXXXXXX/example.com/public_html/wp-content/plugins/ewww-image-optimizer/common.php on line XXXX
もちろん、自分のサイト表示はおろかワードプレスの管理画面にアクセスもできません。
私はプログラミングやPHPファイルには全く知識がないので、まずしょっぱなの「syntax error」というのがわかりません。
調べてみると、これは「シンタックスエラー」と読み、プログラミング上の文法の誤りらしいです。つまりファイルの書き込みに文法的な過ちがあるということです。
「T_PAAMAYIM_NEKUDOTAYIM」とは?
ここまでで、問題のサイトのpublic_html>wp-content>plugins>ewww-image-optimizer>common.phpファイルのXXXX行目に「)」が余分にかかれているんだなということが何となくわかりました。
私はエックスサーバーを使っているので、エックスサーバーのファイルマネージャーで問題のファイルを開くところまでは行きついたものの、「)」なんてファイル内にいっぱいあるし、ここから間違っている「)」を見つけ出すのは私に無理でした。
ちなみにエラーメッセージに出てくる「T_PAAMAYIM_NEKUDOTAYIM」とはダブルコロン「::」のことらしいです。
参考させていただいた記事:[PHP]これ何て読むんだ?「T_PAAMAYIM_NEKUDOTAYIM」
しかし、長ったらしいファイルを読むのは私の力量では無理だと早々に諦め、またまたググってみると…(他力本願)、
イーグンさん、ありがとうございます
以下のような記事を書いている方がいて(しかも見つけた7時間前に)、助かりました。
プラグインのewww-image-optimizerを更新した際にファイルに誤りがあり、エラーになってしまったようです。ちょっと乱暴ですが、このプラグインごとすべて削除したほうが手っ取り速いので、私もイーグンさんをまねてやってみると、あっという間に復活。
私の場合、エックスサーバーのファイルマネージャーから、plugins内のewww-image-optimizerファイルを削除しただけです。
そのあとでewww-image-optimizerを再インストールしても、無事にサイトが表示されるようになりました。
プラグインの自動更新でエラー発生?
しかし、私の所有するサイトにはほとんどこのプラグインをインストールしていますが、今回のエラーにならなかったサイトもあります。その違いを見比べてみると、ワードプレスでプラグインを自動更新していたものに関してのみエラーが発生したのかなーとも思っています。
こんな感じで私の場合は一応、無事に復活できました。
コメント