今回の不可解なFatal errorを検証した



原因追求の為の検証を開始した

7月9日に書いた「久しぶりに出た、不可解なFatal error」の続き。

7月11日に軽微な修正も兼ねてQblogの記事を点検していたら、また「ページの更新ができないトラブル」が発生した。この検証に入る前にレンタルサーバー側の「php.ini 設定ファイル編集」に「php.iniのmemory_limit」を追記して2回の検証をした。(1度目は192M、2度目は数値を上げて256M)。

結果は2回ともエラーになったので本当に「PHPのメモリー不足」がエラーの原因なのかは疑問が残る。


何が原因なのだろう・・・

  • HAIKのバージョンのせいか?
  • PHPのバージョンのせいか?
  • 他の運営サイトでは、どうなるのか?
  • レンタルサーバーのせいか?
  • Ping送信を「送信する」にしていたからなのか?
  • Ping送信先が、古くなったからなのか?
  • HAIKの標準ではないプラグイン(scroll smoothly.js)を使っているからなのか?
  • 他に運営しているHAIKサイトも同じ現象は起きるのか?


今、一番あやしいと思っているのは、HAIKのバージョンのせいかもしれないという事で、HAIKのバージョンを7.0.xにする前は、Qblogで内部リンクを貼る事での「ページの更新のトラブル」は、最近では発生していなかったと記憶している。

そんな訳で、PHPのバージョンを一旦、5.6に戻してからバックアップしてあったHAIK_Ver6.0.11のデータをサーバーに検証用の仮フォルダを別階層に作り、バックアップデータをアップロードしてから、検証を始めることにした。


検証-1 HAIK_Ver6.0.11での検証

HAIK_Ver6.0.11のバックアップデータを使い、ページの更新をクリックをしても、画面が切り替わらなくなる現象が発生したページを編集画面にしてから、内容は何も変更しないで「ページの更新」をクリックした。

  • 結果:NG
    「ページの更新」をクリックしても、画面がフリーズした状態になった。Fatal errorが表示されることもなく、ただ編集画面の状態から何分経過しても次の画面に進まない状態。この時点で、HAIKのバージョンが違うからといって、今回のトラブルが発生した原因ではない事が証明された。


検証-2 HAIK_Ver7.0.4での検証

HAIK_Ver7.0.4のバックアップデータを使い、ページの更新をクリックをしても、画面が切り替わらなくなる現象が発生したページを編集画面にしてから、内容は何も変更しないで「ページの更新」をクリックした。

  • 結果:OK
    「2017年07月09日」の時点で、問題のあったページを削除して、日付を変更した後に記事の移動もしてあったバックアップデータを使ったので「ページの更新が上手くいった」のは当然といえば当然の結果。


検証-3 HAIK_Ver6.0.11での検証

HAIK_Ver6.0.11のバックアップデータは「Ping送信」の設定を「送信する」にしていたので、今度は「送信しない」に変更をして検証をした。

  • 結果:NG
    「Pingの送信」が原因ではない事が証明された。


検証-4 HAIK_Ver7.0.4での検証

HAIK_Ver7.0.4のバックアップデータを使い「2015年7月16日のページに貼ってあった、問題のあった移動する前の日付のページへのリンク」の日付を「2017-07-18」から「2017-07-20」に変更をして「ページの更新」をクリックした。

  • 結果:NG
    この検証の結果からエラーが発生するのは、問題のあったページだけではなく、Blog記事全てのページに設置されたQblogの内部リンクURLに問題があるのではないか?という事が何となく分かってきた。


検証-5 HAIK_Ver6.0.11での検証

HAIK_Ver6.0.11のバックアップデータを使い、HAIK標準以外のプラグインである「scroll smoothly.js」のタグを設定画面の「その他のタグ」の場所から削除をして検証をした。

  • 結果:NG
    HAIK標準以外のプラグインが原因ではない事が証明された。


検証-6 HAIK_Ver6.0.11での検証

「検証-1」のページで「2015-07-16」へのQblogURLを短縮URLに変更をして「ページの更新」をクリックした。

  • 結果:OK
    やはり、短縮URLだと通常の通り「ページの更新」に成功した。


検証-7 HAIK_Ver7.0.5の他の運営サイトで検証

実験用で運営してしているコンテンツボリュームが殆どない運営サイトhaik_palletシリーズ実験室のblog記事に内部リンクを作ってみての検証。

2記事あるQblogのそれぞれにリンクを作った後に「2016-02-03」のページを再度、編集画面で開き内容は変更せずに「ページの更新」をクリックした。

  • 結果:OK

検証-8 HAIK_Ver7.0.5の他の運営サイトで検証

「検証-7と同じサイト」で、今度は内部リンクの日付を変更をして検証をした。

  • 結果:OK
    但し、この検証は「コンテンツボリュームが殆どないサイト」だった為に問題なく「ページの更新」が出来たのかもしれない。


検証-9 HAIK_Ver6.0.11での検証

ここまで色々検証してきたHAIK_Ver6.0.11のバックアップデータで、今度は「キャッシュの削除」をした後に「高速化設定を無効」をしてから、問題のあったページで検証をしてみた。

「キャッシュの削除」は、「設定」-「高速化設定、キャッシュの初期化」-「高速化キャッシュの削除」及び「テンプレートキャッシュの初期化」を実行した。

その後に「高速化設定(キャッシュ機能の有効化)」-「高速化設定を有効にする」の [check]チェックを外して高速化設定を無効化した。

そして、「検証-1」と同じ内容の検証をした。

  • 結果:OK


検証-10 HAIK_Ver6.0.11での検証

「検証-9」と同じ事を今度は、検証をする前のHAIK_Ver6.0.11のバックアップデータを使い検証をしてみた。つまり「検証-1」を始める前のバックアップデータである。

  • 結果:NG


10通りの検証を終えて・・・

「検証-9」の検証の成功で「キャッシュを削除してから高速化設定を無効化すれば良かったんだ」と拍子抜けしたのも束の間、高速化設定の有無は関係なかったので、もう何が何だか分からなくなってきた。

現時点で確実にわかったことは、QblogのURLは短縮URLに変更をすればページの更新は成功するという事だ。今後の事もあるので、全てのQblog内に設置してあるQblogのURLを短縮URLに貼り替えておいた。

尚、僕は現在「さくらレンタルサーバー」しか使っていないので、他社のレンタルサーバーとの比較検証は出来ない為、「さくらレンタルサーバー」側に問題があるかどうかは不明である。


追記 2017年7月16日

今回の検証が、ひとまず終了をしたのでPHPのバージョンを7.1に戻しておいた。


コメント


認証コード2862

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