- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:error_reporting(0);にも関わらず、エラーが出力されるのは何故でしょう?)
error_reporting(0)がエラー出力を無効にできない理由は何でしょうか?
このQ&Aのポイント
- error_reporting(0)を使用しても、致命的なエラーが発生するとエラーが出力されることがある。
- PHPマニュアルによると、完全にエラーを無効にするには、error_reporting()を0に設定するか、php.iniのdisplay_errorsオプションをオフにする必要がある。
- しかし、実際にはparse errorなどの致命的なエラーにはエラーハンドリングが機能せず、エラーが出力されることがある。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- hogehoge78
- ベストアンサー率80% (433/539)
回答No.3
- hogehoge78
- ベストアンサー率80% (433/539)
回答No.2
お礼
こんばんは、hogehogeさん。 アドバイスをありがとうございます。 ini_set()で設定できる内容にも限界がある、 ということをどこかで読んだことがあります。 本件もその1つのケースなのでしょうね。 よって、構文エラーまで出力を抑制したい場合には、 php.iniを直接変更する必要があるわけですね。 教えて頂いたURLに、 「開発をサポートする仕組みであり、本番のシステムでは 使用すべきではありません」 と書かれておりますが、 私が利用しているレンタルサーバ上で、現在、構文エラーが出力されてしまう状態にあるのは、 本来であれば、マズイ状態ということなのでしょうね。 レンタルサーバですので、私個人が、php.iniを直接変更することは おそらくデキナイと思われます。 なので、error_reporting(0)で抑制できないほどのエラーについては、 本番サイトへアップする前に、ナントカしておく必要がありますね。 (当たり前の話で、恐縮ですが。) 私のように、php.iniを直接変更できない状況において、 出来る限り、エラーを吐かないような設定にするには、、 ただただ、error_reporting(0) を使えば良い、 という理解でよろしいでしょうか? もっと、エラー抑制強度は上げられますでしょうか? 例えば、 syntax errorは抑制できないけれども、 ini_set()を使えば、もっとエラー抑制が可能である…とか。 もし、ご存知でしたら、ご教授下さい。 よろしくお願い致します。