cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk memaparkan ralat PHP?

<p>Saya telah menyemak fail PHP ini (<code>php.ini</code>) dan menetapkan <code>display_errors</code> dan ralat dilaporkan sebagai <code>E_ALL</code> ; . Saya telah memulakan semula pelayan web Apache saya. </p> <p>Saya juga meletakkan baris ini di bahagian atas skrip dan ia tidak menangkap ralat penghuraian yang mudah. Sebagai contoh, saya mengisytiharkan pembolehubah menggunakan <code>"$"</code> tetapi jangan tutup pernyataan <code>";"</code>. Tetapi semua skrip saya menunjukkan halaman kosong pada ralat ini, tetapi saya sebenarnya mahu melihat <strong>ralat</strong> </p> <pre class="brush:php;toolbar:false;">error_reporting(E_ALL); ini_set('display_errors', 1);</pre> <p>Apa lagi yang perlu dilakukan? </p>
P粉807397973P粉807397973490 hari yang lalu582

membalas semua(2)saya akan balas

  • P粉203648742

    P粉2036487422023-08-24 09:52:04

    Anda tidak boleh menangkap ralat hurai dalam fail yang sama dengan output ralat didayakan pada masa jalan kerana ia menghuraikan fail sebelum benar-benar melaksanakan apa-apa (dan memandangkan ia menghadapi ralat dalam masa yang sama, 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 fail yang serupa, bergantung pada pelayan.

    Soalan ini mungkin memberikan maklumat lanjut.

    balas
    0
  • P粉465287592

    P粉4652875922023-08-24 09:23:23

    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 akan menjadikan PHP menunjukkan ralat penghuraian yang berlaku dalam fail yang sama - satu-satunya cara untuk menunjukkan ralat ini ialah mengubah suai php.ini dengan baris berikut:

    display_errors = on

    (mungkin juga berfungsi dalam php.ini,则将此行放入 .htaccess jika anda tidak mempunyai akses):

    php_flag display_errors 1

    Persekitaran produk

    Sila ambil perhatian bahawa cadangan di atas hanya digunakan untuk persekitaran pembangunan. Di laman web sebenar ia mestilah

    display_errors = off
    log_errors = on

    Anda kemudian akan dapat melihat semua ralat dalam log ralat. Lihat Di mana untuk mencari log ralat PHP

    panggilan AJAX

    Jika ia adalah panggilan AJAX, buka DevTools (F12) pada pelayan pembangunan dan buka tab Rangkaian. Kemudian buat permintaan untuk hasil yang anda mahu lihat dan ia akan muncul dalam tab Rangkaian. Klik padanya dan kemudian klik tab Respons. Di sana anda akan melihat output yang tepat.
    Semasa berada di pelayan langsung, semak sahaja log ralat.

    balas
    0
  • Batalbalas