4

私の Web ホスティング プロバイダーは、エラー報告を有効にするオプションを提供していません。それで、error_reporting(E_ALL); で試してみました。しかし、これもうまくいきません。次のスクリプトを試しました。

 <?php
 error_reporting(E_ALL);
 echo $test;
 ?>

マニュアルを正しく読めば、エラー通知が生成されるはずです。しかし、これもうまくいきません。何か間違ったことをしたのでしょうか、それとも新しい Web ホスティング プロバイダーを取得するための唯一の解決策ですか?

4

4 に答える 4

11

error_reportingは、エラー レポートの詳細度を PHP に伝えているだけですが、実際にブラウザにエラーを表示するように設定する必要があります。

ini_set('display_errors', 1);
于 2012-04-11T09:32:13.530 に答える
5

おそらく、ログに記録するなど、トリガーされたエラーで何かをしたいと思うでしょう。

ini_set('error_log', '/path/to/php-error.log');

...および/またはそれを表示する:

ini_set('display_errors', true);

エラー処理ランタイム構成で追加のドキュメントを見つけてください。


補遺:このディレクティブは以前はブール値として文書化されていましたが、現在はそうではありません。また、display_errorsディレクティブとini_set()の2番目の引数はどちらも型であるため、厳密な型stringを使用する場合、ブール値を渡すことはできません。

<?php
declare(strict_types=1);
ini_set('display_errors', true);

致命的なエラー:キャッチされていないTypeError:ini_set()は、パラメーター2が文字列であることを期待しています。ブール値が指定されています

したがって、またはなどのtrueと評価される文字列を渡す必要があり'true'ます'1'

于 2012-04-11T09:33:07.437 に答える
2

共有ホスティングの場合、セキュリティ上の理由から、エラーレポートが無効になる可能性がありますが、特定のドメインのエラーログを提供できるはずです。インラインで表示したくない場合は、話しかけてみてください。getaccess go log fileまたは、安全に読み取ることができる管理パネルもあります。

于 2012-04-11T09:38:40.397 に答える
2

以下も必要です。

ini_set('display_errors', true);
于 2012-04-11T09:32:20.757 に答える