Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Ralat dan Amaran PHP Saya Tidak Menunjukkan?

Mengapa Ralat dan Amaran PHP Saya Tidak Menunjukkan?

Barbara Streisand
Barbara Streisandasal
2024-12-20 21:06:11831semak imbas

Why Aren't My PHP Errors and Warnings Showing Up?

PHP: Menunjukkan Semua Ralat dan Amaran

PHP menyediakan keupayaan untuk melaporkan ralat dan amaran semasa pelaksanaan kod anda. Secara lalai, tidak semua ralat dan amaran dipaparkan dalam penyemak imbas web.

Mengapa Ralat dan Amaran Mungkin Tidak Dipaparkan pada Halaman PHP

  • display_errors arahan dalam php.ini ditetapkan kepada Mati
  • error_reporting dalam php.ini tidak termasuk E_ALL atau E_STRICT
  • Penimbalan output digunakan dan tidak memerah

Menyelesaikan masalah

  1. Semak php.ini

    Pastikan bahawa display_errors arahan ditetapkan kepada Pada:

    display_errors = On

    Tetapkan error_reporting untuk memasukkan E_ALL dan E_STRICT:

    error_reporting = E_ALL | E_STRICT
  2. Gunakan error_reporting()

    Dalam skrip anda, anda boleh menggunakan error_reporting() fungsi untuk menentukan tahap ralat dan amaran yang perlu dilaporkan:

    error_reporting(E_ALL);
  3. Semak Penimbalan Output

    Jika penimbalan output sedang digunakan , pastikan ia dibilas sebelum menghantar sebarang output ke pelayar:

    <?php
    // Enable output buffering
    ob_start();
    ?>
    
    <?php
    // Flush any buffered output
    ob_end_flush();
    ?>
  4. Periksa Log Ralat PHP

    Walaupun ralat dan amaran tidak dipaparkan pada pelayar web, ia biasanya log ke fail (biasanya terletak di /var/log/php-error.log atau /var/log/apache2/error.log). Anda boleh memeriksa fail ini untuk sebarang isu yang dilaporkan.

Nota Tambahan

  • Kelas PDO mempunyai kaedah yang dipanggil setAttribute() yang membolehkan anda menetapkan mod ralat. Menetapkannya kepada PDO::ERRMODE_EXCEPTION akan menyebabkan PDO membuang pengecualian pada ralat.
  • Anda boleh menggunakan PDOStatement::errorInfo() untuk mendapatkan mesej ralat untuk PDOStatement.

Atas ialah kandungan terperinci Mengapa Ralat dan Amaran PHP Saya Tidak Menunjukkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn