• ベストアンサー

PHPで画面でなくファイルにエラー出力したいです。

本番運用しているサーバーで、 ini_set("display_errors","Off"); としているのですが、エラーになった場合、 ini_set("display_errors","On"); の時と同じエラーをファイルに出力する事は可能でしょうか?

  • php4
  • お礼率42% (373/888)
  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

ini_set("error_log", "./log/myerror.log"); //エラーログファイルを指定できます もちろんファイルに書き込み権限が必要です ini_set("display_errors", "off");

php4
質問者

お礼

回答者様のハンドル名好きですね(^^) error_logというのがあったんですね。 なぜか、Apacheのエラーログに出ていました。 とりあえず良しとします。ありがとうございました。

関連するQ&A

  • PHP display_errorsが設定出来ない

    PHP 5.3.3 php.iniでは display_errors = Off ですが、php内で ini_set( 'display_errors', "On" );  するも 標準出力にエラーが表示されません。 設定の上書き禁止設定とかありましたっけ・・・

    • ベストアンサー
    • PHP
  • ブラウザからPHPをアクセスしたときに

    ブラウザにPHPエラーを表示させるには PHPをおいているサーバのPHP設定ファイルで php.ini display_errors=on とすればできますが php.ini display_errors=off としていても php.ini display_errors=on の時と同じようにブラウザにエラーを表示させる方法は有るのでしょうか?

    • ベストアンサー
    • PHP
  • ファイル内でのini_set

    ファイル内でのini_setの挙動について意味がわかりません。 エラー表示を制御させたくphpファイル内にini_set('display_errors', 0);としました。 echo ini_get('display_errors');//1と表示 ini_set('display_errors', 0); //$str = "aaa" echo ini_get('display_errors');//0と表示 exit; この状態で$strのコメントを外すとなぜかエラーがきっちり表示されてしまいます。 調べたところファイル内で設定できないものもあるがこの項目についてはファイル内で 制御できるとありました。 .htaccessではinclude_pathの設定をしているだけでdisplay_errorsの設定はしておらず全く 原因がわかりません・・・ちなみに.htaccessでphp_value display_errors Offを入れると エラーは表示されません。 環境はphp5でxamppを利用しております。 ローカルか運用サーバーかでそれぞれの制御を変えたくできればphp内で行いたいのですが どうすればいいものでしょうか?

    • 締切済み
    • PHP
  • PHPのエラーがでない

    お世話になります よろしくお願いします 使えるネット様のサーバーを使用しています。 PHPでデバッグ用にエラーの表示をしたいのですが どうすればいいか分からず困っています [php.ini] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; error_reporting = E_ALL & ~E_NOTICE display_errors = On display_startup_errors = Off log_errors = Off log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = Off html_errors = On ソースに error_reporting(E_ALL|E_STRICT); を入れてもだめでした 怪しいところといえば phpinfoで Configurationの箇所がLocal ValueとMaster Valueに分かれているのですが Master Valueのほうがdisplay_errors On Local Valueのほうがdisplay_errors Off になっています。 原因はこれじゃないかなと思っているのですが どうすればいいか分からず困っています 以上よろしくお願いします

  • PHPでFetalなエラーが発生した場合

    PHPでFetalなエラーが発生した場合 に、ApacheのErrorDocument 500で指定したメッセージを表示させたいのですが、上手くいきません。 ■Apacheの設定 ErrorDocument 500 "The server made a boo boo." ■PHPの設定 error_reporting(6135); // 0にしてもダメでした ini_set('display_errors', '1'); // 0にしてもダメでした ■PHPのコード <?php throw new Excpetopn('err!'); ?> ブラウザからアクセスすると、httpレスポンスコードは500が返ってきています。 ini_set('display_errors', '1'); にすると、 Fatal error: Uncaught exception 'Exception' with message が表示されます。 逆に ini_set('display_errors', '0'); にすると、 何も表示されません。 どうしたら、ErrorDocument 500で設定した"The server made a boo boo."が表示されるようになりますでしょ うか。。 そもそも表示できないのでは?と思いはじめてますが。。 知っている方いましたら、ぜひともご教授下さい。 よろしくおねがいいたします。 Apache 2.2.3 PHP5.3.0

    • ベストアンサー
    • PHP
  • php4でエラーが発生したか検知する方法はありますか?

    php4で、ini_set("display_errors",0); でエラーを非表示にした場合でも、 WarrningやFatal Errorが発生したか判別する方法はあるでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • error_reporting(0);にも関わらず、エラーが出力されるのは何故でしょう?

    いつもお世話になっております。 環境/PHP5.2.5 <?php error_reporting(0); //←エラー出力を「完全にオフ」にしているつもり hoge //←確実にエラーを起こす因子 ?> というソースの場合、 「Parse error: syntax error,~略~」 といったエラーが出力されてしまいます。 error_reporting(0); であっても、 致命的なエラーについては、やはり出力されてしまうのでしょうか? 完全にエラーをオフにする方法を知りたいと思っています。 //-------PHPマニュアル----------- あなたのコードをプローブから保護するために error_reporting() を 0 に設定するか、 php.ini のオプション display_errors をオフに設定する、 のいずれかでエラーリポートを完全に無効にすべきです。 //------------------------------- と、書かれてあるので、 error_reporting(0);にて、 エラー出力を 「完全に無効に」できると思ったのですが…。

    • ベストアンサー
    • PHP
  • PHPのエラー表示

    よろしくお願いします。 使えるねっとの専用サーバーを使っています。 そこで質問ですが、Tera Termでサーバーに接続して etc/php.iniファイルの設定をいじって PHPのエラーが出るようにしたいのですが error_reporting = E_ALL & ~E_NOTICE と display_errors=Onを設定して Apacheの再起動をしたのですが エラーが表示されず、真っ白の画面が表示されるままなのですが どうしたらエラーの表示ができるのでしょうか? 以上よろしくお願いします。

    • 締切済み
    • PHP
  • PHP5.3:iniの設定内容が反映されない?

    お世話になります。 ■環境 CentOS5.5(32bit)に、yumでPHP5.3.5を入れて使用しています。(remiリポジトリ使用) php.iniは、'display_errors'をOffにする以外、デフォルトの状態です。 ■状況 PHPを使ってシェルスクリプトを書いています。 ---------------------------- #!/usr/bin/php <?php  ~※~ ?> ---------------------------- 上記の※の箇所で実際に処理を書いていて、 コンソールから実行したところ、これら自体は正常に実行されています。 ただ、非推奨の関数や記述方法を使用した際に表示される 'Deplicate'エラーがコンソール上に出力されてしまいます。 (エラー自体がPHP5.3から追加されていることと、原因箇所自体は理解しています。) ■質問 ここで気になっているのは、php.iniで'display_errors'をOffにしているのに、 なぜ表示されてしまうのか、ということです。 同様の「エラーの出力される処理」をブラウザから起動した場合は エラーが抑制されていたため、php.ini自体は問題ないように思われます。 一応、シェルスクリプト上でini_set()で'display_errors'をOffにすると消えることを確認しましたので 回避自体はできるのですが、今後ほかの設定値をphp.iniで変更した場合、 影響がでそうなので、困っています。 コマンドラインから起動する場合、php.iniになにか編集が必要なのでしょうか? 以上、長文となりましたが、どなたかご教示いただきたく存じます。

    • 締切済み
    • PHP
  • エラーが画面に表示されません。

    エラーが画面に表示されません。 エラーが画面に全く表示されず、エラーが発生するとブランクのページが表示されます。 php.iniのdisplay_errorsはOnに設定しており、phpinfo()で確認してもdisplay_errorsの欄はonになっています。 何か他に原因は考えられますでしょうか。 よろしくお願いします。 環境:CentOS 5.4 + Apache 2.2.3 + PHP 5.1.6

    • ベストアンサー
    • PHP

専門家に質問してみよう