検索

ホームページ  >  に質問  >  本文

PHPのエラー表示問題の解決方法

<p>PHP ini ファイル (<code>php.ini</code>) を確認したところ、<code>display_errors</code> が設定されており、エラー報告も <code>E_ALL</ code> になっています。 。 Apache Webサーバーを再起動しました。 </p> <p>これらの行をスクリプトの先頭に追加しましたが、単純な解析エラーさえ捕捉できませんでした。たとえば、<code>"$"</code> で変数を宣言しますが、終了ステートメント <code>";"</code> がありません。ただし、これらのエラーに関してはすべてのスクリプトで空白のページが表示されますが、ブラウザ出力で実際に <strong>エラー</strong> を確認したいと考えています。 </p> <pre class="brush:php;toolbar:false;">error_reporting(E_ALL); ini_set('display_errors', 1);</pre> <p>他に行う必要があることはありますか? </p>
P粉469090753P粉469090753491日前609

全員に返信(2)返信します

  • P粉604507867

    P粉6045078672023-08-21 10:46:45

    ランタイム エラー出力が有効になっている場合、同じファイル内の解析エラーを捕捉することはできません。これは、実際に何かを実行する前にファイルが解析されるためです (途中でエラーが発生するため、何も実行されません)。実際のサーバー構成を変更して、display_errors がオンになり、適切な error_reporting レベルが使用されるようにする必要があります。 php.ini にアクセスできない場合は、サーバーによっては .htaccess などを使用できる場合があります。

    この質問には追加情報が含まれる場合があります。

    返事
    0
  • P粉691461301

    P粉6914613012023-08-21 00:29:27

    ###開発環境###

    これは私にとって常にうまくいきます:

    リーリー

    ただし、これによって PHP は同じファイル内で発生した解析エラーを表示しません。これらのエラーを表示する唯一の方法は、php.ini ファイルを変更して次の行を追加することです:

    リーリー

    (

    php.ini

    にアクセスできない場合は、この行を .htaccess に追加しても機能する可能性があります): リーリー ###本番環境### 上記の提案は開発環境にのみ適用されることに注意してください。実稼働環境では、これを次のように設定する必要があります:

    リーリー

    これで、エラー ログにすべてのエラーが表示されます。

    PHP エラー ログの場所

    を参照してください。

    AJAX 呼び出し AJAX 呼び出しの場合は、開発サーバーで DevTools (F12) を開き、[ネットワーク] タブを選択します。 次に、結果を確認したいリクエストを行うと、その結果が [ネットワーク] タブに表示されます。それをクリックして、「応答」タブを選択します。そこに正確な出力が表示されます。

    運用サーバーでは、エラー ログを確認するだけです。

    返事
    0

  • キャンセル返事