7

だから私はxamppを持っていて、何も報告されません...私はエラーを強制しましたが、何もしませんでした...

使用しました

error_reporting(-1);
ini_set( 'display_errors', 1 );

このドキュメントによるとhttp://php.net/manual/en/function.error-reporting.php

またerror_reporting(E_ALL);、何もしません...

4

3 に答える 3

11

ちょっとそれを見て、コードを作成するより非常識なエラーを作成し、それは機能します...しかし、なぜそれはすべてのエラーを表示しないのですか?

おそらく、次のような「単純な」エラーは発生していません。

Parse error: syntax error, unexpected T_VARIABLE in .../.../index.php on line 6
#or
Warning: include(whateveryouwantedto.include): failed to open str(...)

しかし、あなたは次のようなものを手に入れます:

Fatal error: Call to undefined method stdClass::Crap() in .../.../index.php on line 6

私の考えによると、これは、PHP構成でのロギングを無効にしないと、「単純な」エラーが「どこにも」送信されないためです。言い換えると、PHPは、すべての「実際の」エラーを定義log_errors = Onおよび/またはerror_log = 'php_errors.log'ログに記録しているため、エラーを表示しないことで「支援」していますが、「実際の」カテゴリに分類していません。

これが役に立たない場合、思考の帽子は次のように述べています。

私の思考の帽子があなたを助けてくれたことを願っています。

編集:この問題に取り組むには、php.iniを見つけて開き、すべてを選択し、削除/バックスペースを使用して、保存します(ただし、開いたままにします)(またはコピーをどこかに保存します)。次に、Apacheを再起動します。違いがあるかどうかを確認します。もしそうなら、php設定はどこかにあります。phpファイルを復元し、コンピューターまたはサーバーをルートから上に向かって別のphp.iniを検索します。

また、私はあなたが確認する必要があると思います:

log_errors = Off
error_log = "./"
display_errors = On
error_reporting = E_ALL

またはPHPの場合:

error_reporting(E_ALL & E_STRICT);
ini_set('display_errors', '1');
ini_set('log_errors', '0');
ini_set('error_log', './');
于 2012-10-04T23:17:20.353 に答える
6

フォルダxampp/phpに、logsという名前の新しいフォルダを作成します。コントロールパネルのappacheログに移動し、php_error_logをクリックすると、ファイルを作成するかどうかを尋ねられます。

于 2016-11-10T09:33:25.040 に答える
1

error_reporting関数は、ローカルサーバーでオフになることがあります。たとえば、Xamppはそれをサポートしていないため、php.iniにアクセスしてそこで変更する必要があります。お役に立てれば :)。

于 2016-07-11T03:48:34.293 に答える