Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menyelesaikan masalah paparan ralat PHP

<p>Saya telah menyemak fail PHP ini (<code>php.ini</code>) dan <code>display_errors</code> ditetapkan dan pelaporan ralat juga <code>E_ALL</ code> . Saya telah memulakan semula pelayan web Apache saya. </p> <p>Saya juga meletakkan baris ini di bahagian atas skrip saya, tetapi ia tidak menangkap ralat penghuraian yang mudah. Sebagai contoh, saya mengisytiharkan pembolehubah dengan <kod>"$"</code>, tetapi saya tidak mempunyai pernyataan penutup <kod>";"</code>. Tetapi semua skrip memaparkan halaman kosong pada ralat ini, tetapi saya sebenarnya ingin melihat <strong>errors</strong> </p> <pre class="brush:php;toolbar:false;">error_reporting(E_ALL); ini_set('display_errors', 1);</pre> <p>Adakah apa-apa lagi yang perlu dilakukan? </p>
P粉469090753P粉469090753426 hari yang lalu559

membalas semua(2)saya akan balas

  • P粉604507867

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

    Anda tidak boleh menangkap ralat hurai dalam fail yang sama dengan output ralat masa jalan didayakan, kerana ia menghuraikan fail sebelum benar-benar melaksanakan apa-apa (dan memandangkan ia menghadapi ralat di sepanjang jalan, ia tidak akan melaksanakan apa-apa). Anda perlu menukar konfigurasi pelayan sebenar supaya display_errors dihidupkan dan tahap error_reporting yang sesuai digunakan. Jika anda tidak mempunyai akses kepada php.ini, anda mungkin boleh menggunakan .htaccess atau serupa, bergantung pada pelayan.

    Soalan ini mungkin memberikan maklumat tambahan.

    balas
    0
  • P粉691461301

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

    Persekitaran pembangunan

    Ini sentiasa berkesan untuk saya:

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

    Walau bagaimanapun, ini tidak menjadikan PHP menunjukkan ralat penghuraian yang berlaku dalam fail yang sama - satu-satunya cara untuk menunjukkan ralat ini ialah mengubah suai fail php.ini anda untuk memasukkan baris ini:

    display_errors = on

    (mungkin juga berfungsi jika anda tidak mempunyai akses kepada php.ini,那么将这一行放在.htaccess):

    php_flag display_errors 1

    Persekitaran pengeluaran

    Sila ambil perhatian bahawa cadangan di atas hanya digunakan untuk persekitaran pembangunan. Dalam persekitaran pengeluaran ini mesti ditetapkan kepada:

    display_errors = off
    log_errors = on

    Kemudian anda boleh melihat semua ralat dalam log ralat. Lihat Di mana untuk mencari log ralat PHP

    panggilan AJAX

    Untuk panggilan AJAX, buka DevTools (F12) pada pelayan pembangunan dan pilih tab Rangkaian. Kemudian buat permintaan yang anda mahu lihat hasilnya dan ia akan muncul dalam tab Rangkaian. Klik padanya dan pilih tab Respons. Di sana anda akan melihat output yang tepat.
    Pada pelayan pengeluaran, cuma semak log ralat.

    balas
    0
  • Batalbalas