【Wordpress】「ウェブサイトでエラーが発生しました」が再び発生して泡食った!-無事解決の記-
も・く・じ
これまでウェブデザインを中心に更新していた当ブログですが、諸事情により若干修正を加えることにしました。
ところがそのサイト修正を行っている最中に突然サイトにつながらなくなってしまったんです。
確かこれで2度目かと…。
2回目の症状なのに以前の解決策を覚えてなかった
ある日せっせとサイトの修正を行っていたら突然サイトに繋がらなくなり、下画像のような「サーバーエラー」メッセージが出現したんです。
へっ? サーバーが落ちたか?と思って契約サーバー(さくら)で運営している別のブログを開いてみたら、ちゃんと開けるではないですか。
ということは当ブログの設定ミス?
いやそれしか考えられません。
そういや確か以前にも同じような症状が出て解決までにかなり時間がかかったことを思い出しましたよ。
でも肝心の『その時の症状が何で、どうやって解決した』かは、すっかり記憶の外に追いやられてしまって…。
サイト修正中のこのトラブルはかなり悲観的です。
しかも急がなければならない上にパソコンの調子まで悪いんですから
(時々電源が落ちる)
でも今回はちょっとしたヒントを元に20分ほどで解決しちゃいました。
結論から言うと、今回のトラブルの原因はfunctions.phpの構文ミスにあったんです。
functions.phpに問題がある場合、Google先生にお伺いを立てると必ずと言っていいほど複数の解決策が挙がってきます。
それだけ原因も多岐にわたるということなんでしょう。
ただし解決策は専門的な内容だったりすることが多く、データベースの修復が必要だとかワードプレスの再インストールだとか、素人が手を出すにはちょっと勇気のいるものがほとんどなんですよね。
私も一応トライしましたよ。
php adminを開いてデータベースの修復をかけてみたり.htaccessの中身をチェックしてみたりとか。
でも一向に直らないんですよね。
じゃあいったいどうやって復旧させたのかと言えば、きっかけはphp.iniだったんです。
php.iniを開いてみる
原因解明の一つとしてネット上に挙がっていた項目の一つに「php.ini」のチェックがありました。
そこでサーバーのルートに置いてある同ファイルを開いてみると下画像のテキストが1文あるのみ。
これ、ざっくりと説明すると「phpに何らかのエラーがあってもそのエラーを表示させない」という意味の命令文だそうです。
(.htaccess に書く場合もあります)
そこで試しに「Off」を「On」に書き換えて保存→ブラウザをリロードして何らかのエラーメッセージが出るかどうか試してみました。
すると画面が切り替わって表示されたのが次の一文。
上画像は「functions.phpの247行目に文法エラーがあるよ」っていう意味です。
さてfunctions.phpの全文をコピーしテキストエディタを開いてペースト後に247行目付近を見てみると、そこにはついさっき書き加えたばかりのショートコードが記してあるじゃないですか。
じっくり見た結果「もしかしてここ、かな?」となかば当てずっぽうでハイフンを削除して保存→ブラウザをリロードしてみます。
すると…おお、見慣れたページが戻ってきましたよ!
ここで疑問なんですが、ショートコードを作る際、functionの後に書く名称(なんというかわかりません)に『ハイフンは付けてはいけない』というルールがあるんでしょうか。
phpについてはほとんど素人同然なのでさっぱりわからんのです。
あらためてネットで調べても検索ワードが悪いのかどうか1件もヒットせず。
ただ解決には至ったのでおそらくハイフンが原因だとは思います。
ハイフンは要注意
ハイフンに関してはphp以外でも実は要注意項目だったりします。
ハイフンを付けたがために起こるトラブルは過去にも結構あったんです。
わかっているならハイフンなしにするかアンダーバーで代用すればいいんでしょうが、つい癖でハイフンを使ってしまうんですよね。
サイト作成でハイフンは鬼門ですので、できるだけ使わない方がいいかもしれません。
以上です。
記事はお役にたてましたか?
記事に興味をもっていただけたらソーシャルボタンでの共有お願いします^^
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓