• 締切済み

PHP error_reporting()

ど素人です。 PHPにて、 error_reporting()?なのかエラーメッセージを Waning........等から オリジナルのエラーメッセージに変更したいのです。 エラーメッセージはすべてのエラーに対してです。 技術者のみなさま宜しくお願い致します。

みんなの回答

noname#30334
noname#30334
回答No.3

>AUで・・・ という事は、ローカルホストやLAN内ではなく、もうサーバーで公開しているのですね・・・。 身近に経験者は、いらっしゃらないのですか?正直、危なっかしい感じです。 エラーの表記については、自己責任でご自由にと言いたいところですが・・・ ご自身で「ど素人」と称されている方に対して、それは適切ではなかろうと思いますので、 個人的な見解を申し上げます。 >String=".$errstr." File=".$errfile." Line=".$ >と、default: echo "Unkown error type: [$errno] $errstr<br />\n"; >break;を削除しても支障はありませんか? おそらく支障は出ると思います。 何らかエラーの発生時に、その原因を特定する為の文言を消そうというのですから。 もし、「error_reporting(0);」としている場合は、 「Fatal Error」すら表示しなくなり、スクリプトの実行は、中断され、画面は、真っ白・・・という事にもなります。 本来なら、エラーの種類やレベルを理解していない間は、手を出さない方が賢明ですが、 マニュアルや書籍を参考に頑張って下さい。

参考URL:
http://phpspot.net/php/man/php/ref.errorfunc.html
hhhharusan
質問者

お礼

こんにちは、ありがとうございます。 試行錯誤しながら、がんばります。 また質問すると思いますが、宜しくお願い致します。

noname#30334
noname#30334
回答No.2

全部書くとマニュアルのサンプルとほとんど同じになるので、WARNINGの部分だけ書きます。 下記のコードをファイルの先頭に入れて動かしてみてください。 <?PHP error_reporting(E_ALL); function myErrorHandler($errno, $errstr, $errfile, $errline) { switch ($errno) { case E_WARNING: print "My WARNING!!!! String=".$errstr." File=".$errfile." Line=".$errline."<br>\n"; break; default: echo "Unkown error type: [$errno] $errstr<br />\n"; break; } } set_error_handler("myErrorHandler"); ?> あと、error_reporting(0);は、消す事!

hhhharusan
質問者

お礼

ありがとうございます。 感激致しました。 本当にありがとうございます。 また、下記の print "My WARNING!!!! String=".$errstr." File=".$errfile." Line=".$ の、String=".$errstr." File=".$errfile." Line=".$ と、default: echo "Unkown error type: [$errno] $errstr<br />\n"; break;を削除しても支障はありませんか? printで、携帯端末に表示したいのですが、 echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"; echo "<HTML>\n"; echo "<HEAD>\n"; echo "<META http-equiv=Content-Type content=\"text/html; charset=shift_jis\">\n"; echo "<TITLE>xxxx</TITLE>\n"; echo "</HEAD>\n"; echo "<BODY bgcolor=\"#000000\" text=\"#ffffff\" link=\"#ffffff\" vlink=\"#ffffff\">\n"; echo "表示される文面<br> \n"; echo "表示される文面2\n"; echo "<HR color=\"#ffffff\">\n"; echo "<CENTER>(C)xxxx</CENTER>\n"; echo "</BODY>\n"; echo "</HTML>\n"; echo "\n"; これで宜しいですか?AUで文字化けしてしまいました・・・ 本当に感謝です。 ど素人ですが、よろしくお願い致します。

noname#30334
noname#30334
回答No.1

set_error_handler関数で制御出来るようです。 マニュアルにサンプルもありますので、それを参考にカスタマイズするのが良いでしょう。 エラー定義スクリプトが出来たら、適用するファイルの先頭辺りで、 require_onceで読み込んでやれば良いです。 ・set_error_handler http://phpspot.net/php/man/php/function.set-error-handler.html ・require_once http://phpspot.net/php/man/php/function.require-once.html

参考URL:
http://phpspot.net/php/man/php/function.set-error-handler.html
hhhharusan
質問者

補足

早々のご回答ありがとうございます。 さっぱり???です。 どこにどのように記載するのかわかりません。 ================================ テンプレート読み込み ================================ $utl = new Utl(); $template = $utl->readTemplate($template_file); $template_file テンプレートファイルへのパス 返り値 $template テンプレートファイル(SJIS) */ function readTemplate($template_file){ foreach(file($template_file) as $v){ $template .= $v; } $template = mb_convert_encoding($template, "EUC-JP", "auto"); return $template; } 上記のforeach foreach(file($template_file) as $v){ が、違う$template_fileのURLを打ち込みとWaningエラーが出るので <?php error_reporting(0); と記載したら何も出なくはなりましたが、そこに オリジナルエラーメッセージを表示させたいです。 説明が下手ですいません。 よろしくお願い致します。

関連するQ&A