Bagaimana cara mengaktifkan semua kesalahan dan peringatan dan mencatatnya di file, tetapi untuk mengatur semua itu di dalam skrip (tidak mengubah apa pun di php.ini)?
Saya ingin mendefinisikan nama file dan agar semua kesalahan dan peringatan bisa masuk ke dalamnya.
php
error-handling
Gorep
sumber
sumber
ini_set
hanya berfungsi jika kode itu dijalankan. Tidak berguna untuk kode yang memiliki kesalahan parse karena kesalahan akan terjadi sebelum kode dieksekusi. Alih-alih tulis perubahan itu ke dalam php.ini.php_flag log_errors on php_value error_log /home/path/public_html/domain/PHP_errors.log
. Lihat perishablepress.com/...tmp/php-error.log
lokasi mana yang Anda inginkan?Lihat
error_log
- Kirim pesan kesalahan di suatu tempatContoh
Anda dapat menyesuaikan penanganan kesalahan dengan penangan kesalahan Anda sendiri untuk memanggil fungsi ini untuk Anda setiap kali terjadi kesalahan atau peringatan atau apa pun yang perlu Anda catat. Untuk informasi tambahan, silakan merujuk ke Penanganan Kesalahan Bab dalam Manual PHP
sumber
Masukkan kode-kode ini di atas file PHP / index Anda:
sumber
display_errors
harus TIDAK AKAN dinyalakan pada server produksi langsung - arahan itu khusus untuk output ke pengguna, dan tidak berpengaruh pada logging. php.net/manual/en/…tambahkan kode ini dalam .htaccess (sebagai alternatif fungsi php.ini / ini_set ):
* seperti yang dikomentari: ini untuk server jenis Apache , dan bukan untuk Nginx atau yang lainnya.
sumber
Itu fungsi pendek pribadi saya
sumber
Lihatlah
log_errors
opsi konfigurasi di php.ini. Tampaknya melakukan apa yang Anda inginkan. Saya pikir Anda dapat menggunakanerror_log
opsi untuk mengatur file logging Anda sendiri juga.Ketika
log_errors
arahan diatur keOn
, kesalahan yang dilaporkan oleh PHP akan dicatat ke log server atau file yang ditentukanerror_log
. Anda dapat mengatur opsi iniini_set
juga, jika perlu.(Harap dicatat bahwa
display_errors
harus dinonaktifkan di php.ini jika opsi ini diaktifkan)sumber
display_errors
dinonaktifkan jika Anda mengaktifkanlog_errors
? Tidak masuk akal menurut saya. :)Selain itu, Anda memerlukan arahan "AllowOverride Options" agar ini berfungsi. (Apache 2.2.15)
sumber