IIS tidak menampilkan kesalahan PHP terperinci - malah menunjukkan kesalahan server 500

9

Saya sudah terbiasa melayani situs dari Apache, tetapi sekarang saya terpaksa menggunakan server IIS.

Sejumlah halaman PHP saya menghasilkan kesalahan 500 dan saya tidak bisa men-debug karena IIS menekan pesan kesalahan. Saya sudah mencoba ini_set('display_errors',1);kode tetapi tidak berhasil.

Kesalahan ditampilkan di beberapa situs tetapi tidak pada khususnya yang ingin saya debug, jadi saya pikir ini bukan pengaturan PHP global, tetapi ada hubungannya dengan pengaturan situs untuk situs itu.

Saya tidak dapat menemukan jawaban yang jelas tentang cara mengaktifkan kesalahan tampilan PHP.

Saya telah menemukan tautan ini tetapi tidak yakin di mana menemukan " system.webServer-> httpErrors ".

Bagaimana saya bisa mengaktifkan kesalahan tampilan dalam PHP di bawah IIS?

Andy
sumber

Jawaban:

6

Bagaimana kalau logging saja?

Edit php.ini dan atur

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

Dan lainnya

error_log = syslog untuk log ke Windows Event log, atau

error_log = location/of/logfile untuk masuk ke file.

adaptr
sumber
Saya telah error_reporting,, log_errorsdan error_logsemuanya mengonfigurasi dengan cara ini, tetapi masih belum mencatat kesalahan untuk situs Joomla. Situs ini disalin dari server Apache. Saya mengimpor .htaccessaturan ke IIS 7.5; tapi sayangnya, ini masih gagal. Apakah Anda kebetulan tahu apa lagi yang perlu saya perhatikan?
Mike Perrenoud
5

Dengan asumsi Anda memiliki semua pengaturan yang tepat di file php.ini Anda

  1. Pilih situs web Anda di IIS Manager
  2. Di sebelah kanan, klik dua kali ikon Halaman Kesalahan
  3. Di paling kanan di bawah 'Tindakan', klik tautan 'Edit Pengaturan Fitur'
  4. Pada munculan yang muncul, pilih tombol radio 'Kesalahan terperinci'
  5. Refresh halaman PHP Anda untuk melihat kesalahan terperinci

Terima kasih atas komentar terakhir di halaman ini

Nama Pengguna Long Lain
sumber
0

Saya menemukan, bahwa itu ide yang baik untuk mengakses sebuah halaman IIS-host dengan Internet Explorer untuk menguji.

Dalam kasus saya php-error-log mana bersih - tidak mendapat petunjuk dari sana.

Saya mendapat "500 - internal server error" non-ekspresif saat menghubungkan dengan firefox / chrome: masukkan deskripsi gambar di sini

... tetapi pesan kesalahan yang lebih berguna ("Kesalahan HTTP 500.0 - Kesalahan Server Internal C: \ PHP \ php-cgi.exe - Proses FastCGI keluar secara tidak terduga") saat menggunakan InternetExplorer: masukkan deskripsi gambar di sini

Mungkin juga coba sambungkan dari http: // localhost di server itu sendiri.

eli
sumber