メイン インストール・セットアップ(Install,Setup)
Notice エラーを表示させないようにする | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| hide99 | 投稿日時: 2007-9-19 22:02 |
一人前 ![]() ![]() 登録日: 2007-7-2 居住地: 投稿: 106 |
Notice エラーを表示させないようにする cakephp はどういうわけか、
php.ini、.htaccessなどで error_reporting を 表示させないようにしてもエラーが表示されてしまいます。 特に なのが Noticeエラー。変数を初期化していないと毎回のようにエラーになります。しかもこのエラーは一般的なレンタルサーバーでは表示されないように指定されています。そこで、Noticeエラーのみ表示させない方法を考えてみました。 ○cakephp1.1 の場合 ( cake/libs/configure.php ) のファイルの130行目から140行目あたりの error_reporting を下記URLを参考に変更すれば表示されなくなります。 http://de.php.net/error_reporting を参考に変更すればエラーレベルを設定できます。 つづいて、 ○cakephp1.2 の場合 これは探すのに時間かかってしまいました。 cake/libs/debugger.php の 125 から 147行目を下記のようにすればNoticeエラーが発生しなくなります。 を Notice エラーを発生させなくするには のようにコメントアウトすることでエラーを表示させなくすることが可能です。 |
| asaoki | 投稿日時: 2007-9-20 9:09 |
Baker スタート ![]() ![]() 登録日: 2007-1-15 居住地: 投稿: 2 |
Re: Notice エラーを表示させないようにする ちゃんと検証していないのですが、
この方法とapp/config/core.phpの の設定を1や0に変更するのとでは何か違うんでしょうか? |
| hide99 | 投稿日時: 2007-9-20 13:39 |
一人前 ![]() ![]() 登録日: 2007-7-2 居住地: 投稿: 106 |
Re: Notice エラーを表示させないようにする たしか、DEBUGの数字を変更するだけですと
WARNINGエラーも表示されなくなったするので、 (画面が真っ白で止まる)開発に影響が出てしまいます。 あと、SQL情報が出なくなったりしますので。 開発に特別影響の無い Noticeエラーのみを外すには DEBUGの数値を変更するだけではうまくいかないですね。 よって直接書き換えるのがベストだと思います。 |
| hide99 | 投稿日時: 2007-9-20 15:03 |
一人前 ![]() ![]() 登録日: 2007-7-2 居住地: 投稿: 106 |
cakephp1.2の場合の Noticeエラー非表示 07/12/31 編集
方法を書いておきます。 cakephp1.2の場合 cake/basics.php 768行目あたりを の一行を下記に変更 これで notice エラーが表示されなくなる。 |
| hide99 | 投稿日時: 2008-1-6 23:22 |
一人前 ![]() ![]() 登録日: 2007-7-2 居住地: 投稿: 106 |
Re: cakephp1.2の場合の Noticeエラー非表示 先輩方、
やっぱりどの方法を試しても cakephp1.2 だと view で notice エラーがでたり、コントローラーで notice エラーが出たり、、、。 どこでerror レベルを変えているのかいまいちつかめません。 なぜ notice を消したいかといいますと $hoge の値が空の場合 ○ error_reporting レベル が notice も表示する場合 とするとNoticeエラーが出ます。 ○ error_reporting レベル が notice は表示しない場合 とNotice エラーは発生しません。 cakephp の話題からずれるかもしれませんが、みなさんはどうやってプログラム作ってますか? もちろん、 とやったり、 とやればエラーは出ないと思うのですが・・・。 みなさんは変数を初期化してからプログラムされているのでしょうか。 もしくはerror_reportingレベルの変え方をご存知の方教えてください。 |
| yando | 投稿日時: 2008-1-7 8:34 |
一人前 ![]() ![]() 登録日: 2006-8-7 居住地: 投稿: 99 |
Re: cakephp1.2の場合の Noticeエラー非表示 推測ですがnoticeは開発時には出力「すべき」という事なのだと思います。
たしかに変数の未定義だけを考えれば出力する必要はないかもしれませんが、Modelから取得したデータの指定方法が間違っている場合や廃止予定のメソッドを利用した場合などにもnoticeが出ます。 これらの情報については確認した上で正しい実装を行うか、無視するというのが本来の対処でしょう。 実際に公開する場合はDEBUGを0にしてメッセージの表示を全て抑止します。 ちなみに私はNoticeも一切出ないように実装するようにしています。 そのほうがバグを作りにくいのと、運用時の問題に気が付きやすいからですね。 |
| hide99 | 投稿日時: 2008-1-7 19:36 |
一人前 ![]() ![]() 登録日: 2007-7-2 居住地: 投稿: 106 |
Re: cakephp1.2の場合の Noticeエラー非表示 yandoさん
ありがとうございます! 心を入れ替え、 notice エラーも表示させないような良いプログラムを書いていこうと思います |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



なのが Noticeエラー。変数を初期化していないと毎回のようにエラーになります。しかもこのエラーは一般的なレンタルサーバーでは表示されないように指定されています。
