WordPressのダッシュボードでfunction.phpのファイルを編集していたら、以下のエラーが出てしまい、当サイトにもダッシュボードにもアクセスできなくなりました。
当ブログ開設から日が浅く記事が少ないとはいえ、そこそこの時間をかけて作ったサイトのため、このまま何も出来なくなる!今までの苦労水の泡だ!!と焦り、泣きそうになっていました。
しかし簡単に復旧できたので、備忘録もかねて記事に残したいと思います。
私が利用しているサーバーはエックスサーバーです。
多分他のサーバーでも大体同じような操作だと思いますので、深呼吸して落ち着いて作業に取り掛かってください。
落ち着いて復旧に取り掛かろう!
エラーメッセージが、悪いところを知らせてくれている
まずは画面に出たエラーを読んでみましょう。
私は英語が苦手なので、goole翻訳大先生の出番です。
大先生によると、「functions.phpってファイルの1323行目の、photoっていう文字周辺が予期せぬことになっているよ」ってことらしいです。
その部分を直せばいいのすが、WordPressダッシュボードからfunctions.phpにアクセスすることが出来ません。
なので、サーバーに乗っている該当ファイルを編集して、修正したファイルをアップロードしなおす事でこのエラーを解決しましょう。
まずエックスサーバーの場合、ファイルマネージャーにログインします。
他のサーバーでもファイルマネージャーがあると思うので、そちらにアクセスしてください。
ログインしたら、エラーで示されている階層までフォルダを移動してください。
今回の私のエラーの場合、esperanza_dolcevivaceというフォルダまで移動します。
すると、問題の発生したfunction.phpがありました。
function.phpをクリックすると、このファイルがダウンロードされます。
ダウンロードが完了したら、いよいよこのファイルの修正に入ります。
修正後に同じところにアップロードしなおすので、今表示しているファイルマネージャーのページを消したり、別のページに移動したりしないほうが良いですよ。
テキストエディタを使ってファイルを修正
ファイルの修正にはサクラエディタを使うことをおススメします。
理由は二点。
エラー画面がエラーの出ている行を教えてくれているので、左に行数の表示があるサクラエディタを使用すればすぐに修正に取り掛かることが出来ることと、Windowsのデフォルトのメモ帳だと文字コードの指定がちゃんとできなかったりして、ファイルの修正どころではなくなり面倒ですが、サクラエディタならファイルの文字コードを認識して合わせてくれるので、無駄に変換とかしなくて済むことです。
サクラエディタのダウンロードはこちらから
ではまずサクラエディタを開きます。
開いたら、先ほどダウンロードしたfunction.phpをドラッグ&ドロップで貼り付けます。
これで、function.phpの中身を見たり編集したり出来ます。
今回の私のエラーの場合、1323行目で問題が発生しているようなので、そこまでスクロールして移動します。
するとありました。
シングルクォーテーション「'」で囲わなければエラーになってしまうところを、ダブルクォーテーション「"」で囲んでいました。
どうしてクォーテーションの違いでエラーが起こるかは、また別の話ですので割愛します。
そして私の場合、今回はクォーテーションがエラーの原因でしたが、エラーが起こる原因は様々ですので、修正する内容は個々のケースに合わせてください。
多少、JavascriptやPHPのWeb系プログラミング言語の知識が必要になりますが、今はネットで調べれば解決できることも多いので、頑張ってください。
とにかく原因がわかったので、ちゃちゃっと修正して上書き保存します。
保存したら、先ほどのファイルマネージャーの画面に戻りましょう。
エラーの出ているfunction.phpを、[ファイルのアップデート]の部分から修正済みのファイルで上書きします。
これで修正は完了です。
ではサイトにアクセスしてみます。
無事に表示されました。
ダッシュボードも難なく入れます。
以上です。
これでまだエラー画面になり、サイトやダッシュボードにアクセスできない場合は、もう一度エラー文を読んで修正してください。
「Parse error」解決のまとめ
いかがでしたでしょうか。
どの画面にアクセスしてもエラー画面になってしまうと、とても焦りますよね。
ですが、落ち着いてエラーメッセージを読み、その部分を修正すればまたアクセス可能になります。
今回このエラーで私が学んだのは、オンライン上でファイルの編集をするのは避けたほうがいいということでした。
ローカル環境にWordPressを導入して、そちらで開発や編集をすることで、本番環境での深刻なエラーを回避することが出来ます。
めんどくさがらず自分のパソコンの開発環境を整え、テーマ編集等を行えば、どんなエラーが出ても復旧が簡単です。
早速時間あるときに、ローカル環境を作ろうと思います。