3

私はubuntu10.04+ nginx +php-fpm5.4を実行しています

display_errors = Onphp.iniで設定すると、すべてのエラーが出力されます。代わりに、それをオフに設定してから、ini_set('display_errors、' 1');を使用します。スクリプトに直接表示されますが、解析エラーは表示されず、空白のページのみが表示されます。error_reportingとE_STRICTも試してみましたが、方法が見つかりませんでした。

4

5 に答える 5

15

で無効display_errorsにし、後でを使用しphp.iniてPHPスクリプトで有効にすると、その呼び出しを含む行が実行された後にのみ有効になります。ini_set()ini_set()

解析エラーは、PHPスクリプトが開始する前、つまりPHPファイルが解析されるときに発生します(したがって、「解析エラー」という名前が付けられます)

ini_set()つまり、実行される前に発生します。つまり、このdisplay_errors場合、解析エラーが発生したときに有効になりません。その結果、何も表示されません。

于 2012-05-19T17:35:09.387 に答える
8

ここで私はこれが答えられてから何年も経っていますが、私はこれを回避する方法を見つけました。

私が書いているスクリプトのために、ini_set()ディレクティブを含む2番目のスクリプトを作成し、その後に実際に作業しているスクリプトのインクルードを作成しました。

とに、ここにtest_run.phpがあります

<?php

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

include('./my_script.php');

?>
于 2017-04-21T22:34:14.893 に答える
2

オンにする以外にdisplay_errors、エラーログを監視することもできます。通常、Ubuntu + apacheを実行すると、エラーログはになります/var/log/apache2/error_log。何が起こっているかをリアルタイムで監視するには、のようなものを実行しますtail -f /var/log/apache2/error_log

これは、php設定に煩わされるよりも簡単な場合があります。

于 2012-05-19T17:48:34.510 に答える
0

**php.iniファイルでのエラー表示を有効にする必要があります**

次の行を追加(コメントなし)しましたが、解析エラーが表示されています。

error_reporting 
Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 
Development Value: E_ALL
Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
于 2021-10-06T16:29:56.630 に答える
-1

試してみてくださいerror_reporting(E_ALL);。またはドキュメント

于 2012-05-19T17:35:11.400 に答える