【WordPress】「ウェブサイトでエラーが発生しました」が再び発生して泡食った!-無事解決の記-

Total 34 views
この記事の所要時間は約 3分です。

これまでウェブデザインを中心に更新していた当ブログですが
諸事情により若干修正を加えることにしました。

ところがそのサイト修正を行っている最中に
突然サイトにつながらなくなってしまったんです。

確かこれで 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以外でも実は要注意項目だったりします。

ハイフンを付けたがために起こるトラブルは過去にも結構あったんです。

わかっているならハイフンなしにするかアンダーバーで代用すればいいんでしょうが、
つい癖でハイフンを使ってしまうんです。

サイト作成でハイフンは鬼門ですので、できるだけ使わない方がいいかもしれません。

以上です。

スポンサーリンク

ブログランキングに参加してます。よろしければポチッとな。

お気軽にフォロー↓してください。

ブログ更新情報はこちらからどうぞ。

follow us in feedly

コメントを残す




日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)