Fatal error(致命的なエラー)が出た

エラー内容

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 31 bytes) in 【サーバー上のディレクトリ】 on line 1012


分析

  • Fatal→致命的な
  • Allowed→許可されました。
  • exhausted→尽きます。
  • 134217728 bytes→128MB


<本文を丸ごと、Google翻訳した。>

致命的なエラー:使い果たさ134217728バイトの可メモリサイズがライン1012上【サーバー上のディレクトリ】に(31バイトを割り振ろうとしました)


何をしたらエラーになったか?

別の運営サイトのメニュー画面の編集をして「ページの更新」をクリックしたらエラーになった。

具体的には下記 ↓ のメニュー編集で色々テストしてみようと思い、後半部分のおまじないを使ってみようと貼り付けてから「ページの更新」をクリックしたら、サイトが開かなくなった。


*メニュー 
** 日常のこと
*** [[オマイの名前はカランコエ]]
** お勉強
** [[参考資料_目次]] 
~
&br;
#menu←これが原因だった。


エラー内容からみる原因

PHPがサーバーのメモリー使用上限を超えてしまったらしい。


復旧作業

  • 2016年1月30日の結果
    • 何をやっても、解決しなかった。
  • 2016年1月31日の結果
    • 解決した。


2016年1月31日の復旧作業内容

  • 前日にFTPソフトでバックアップしておいたデータを使い、コピーサイト用に作成したフォルダにアップロードしてみた。
    • NG
  • QHM Ver4.7の時にバックアップしておいたデータを使いコピーサイトとしてアップロード後、QHMのバージョンを現在のhaik ver6.0.4までアップデートしてから、FTPソフトを使い「wiki」フォルダをローカルデータからアップロードしていって、エラーになるかを試した。
    その結果、エラーになるデータが見つかり、詳しく調べていくと「メニュー編集時に書いた#menuが直接の原因だと判明した。」
    • 具体的には「wiki」フォルダを開いて「4D656E75426172.txt」を探して編集する。このテキストファイルが、メニュー画面の内容なので、この中に書いてある#menuを削除したら問題は解決した。
      • ちなみにQHM Ver4.7でも同じようになるかを試してみたら、やはりサイトが開けなくなった。


なぜ、今回のようなことをしてしまったか?

記憶を遡ってみたら「haikマニュアル」-「haik パーツ」のページに書いてあった下記の内容を見て、「#menu」をコピペして、メニュー編集画面に貼り付けてしまったのが、失敗の原因だったようだ。


<メニューの置き換え>

#menu を使うと、ページ毎に個別のメニューを表示できます。
好きな名前でページを作成し、メニューの内容を書き、

#menu(): No such page: 作成したページ名

共通のメニューではなく、ページ毎にメニューを変えたい場合にお使い下さい。


今回の騒動を降り返って・・・

解決したからよかったものの、正規のエラー表示をたどって行っても、復旧しなかったと思うと、今回は何とか解決できてラッキーだった。

QHMの運営を北研が投げ出したので、今後も自己解決の力を身につけないといけない。

なんだか、Open-QHMを使っていた頃に戻るようで、なつかしい。


追記 2016年2月4日

削除できないページも同じエラーFatal error(致命的なエラー)がでた。


「追加機能」をメモしたページを削除しようと思ったら、できなかったが、もう1度サーバーコントロールパネルの「php.ini 設定ファイル編集」に「memory_limit=192M」を追記してページの削除を実行したら、うまくいった。

なぜだか「memory_limit=64M」と追記したときはNGだった。

しばらくチェックしていない間に、スパムと思われるクズ野郎が書き込んだ大量の文字が原因でメモリー不足になったようだ。

ちなみにphpのことはわからないから、ページの削除をしたあとに、サーバー側の設定も元に戻しておいた。

もし、削除できなかったら、全てのページの「wikiファイル」をチェックして、削除できないページを探しあてて、FTPソフトで削除するか、いっそのことサイトを最初から作り直そうと思っていたので、「php.ini 設定ファイル編集」をいじることで、ページの削除ができて本当によかった。


コメント


認証コード3532

コメントは管理者の承認後に表示されます。