2

どのエラーが致命的と見なされ、PHP ではそうでないと見なされるのか疑問に思っています (ただし、他の言語にも興味があります)。エラータイプのどこかに簡潔な説明やリストがありますか? 「非致命的」という表現を使用することは理にかなっていますか?

私が疑問に思っている理由は、PHP エラーを作成すると$_SESSION(実際には codeigniter セッションを使用して) 破壊されることがありますが、他の場合はそうではなく、なぜこれが起こっているのかをはっきりと理解できないからです。

4

1 に答える 1

2

まあ、名前はかなり自明です:

致命的なエラーは重大なエラーであり、このエラーが原因で、パーサーが残りのコードの解析を続行できない可能性があることを意味します。例えば:

  • Webサーバーでスクリプトを解析するためのメモリが不足しています(たとえば、パーサーがmemory_limitphp.iniのセットにヒットしました)。
  • スクリプトには無限ループが含まれています(たとえば、php.iniwhile(1) { echo "Hi friend!"; }のセットよりも長く実行されます)。max_execution_time

致命的でないエラーは通常呼び出されWarningsますが、それでもかなり深刻であり、修正する必要がありますが、パーサーがコードの解析を停止することはなく、発生したエラーに関係なく続行できます。例えば:

  • 未設定の変数を呼び出しています。
  • 存在しない配列のキーを要求しています。
  • 存在しない関数を呼び出しています。

これがあなたのために少し物事をクリアすることを願っています。

于 2012-05-08T14:49:25.810 に答える