Setiap panduan untuk masalah PHP dimulai dengan "nyalakan display_errors". Di situs yang hidup, itu mencetak jalur berkas Anda, kerangka Anda, kadang nama basis data Anda, kepada siapa pun yang bisa membuat halamannya menyalakan galat - termasuk kepada orang yang sedang mencobanya.
Pengaturan yang benar untuk situs hidup
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /var/log/php/mysite-error.log
error_reporting = E_ALL & ~E_DEPRECATED
E_ALL tanpa peringatan usang menjaga catatannya tetap terbaca pada kode yang tua, sambil tetap mencatat semua yang sungguh salah.
Awasi sambil Anda menghadirkan ulang masalahnya
tail -f /var/log/php/mysite-error.log
Biarkan itu berjalan lalu muat halaman yang rusak. Anda mendapat keterangan yang sama seperti yang akan ditampilkan display_errors, pada saat yang sama, tanpa seorang pengunjung pun melihatnya.
Kalau Anda memang harus melihatnya di peramban
Tampilkan hanya kepada diri Anda, berdasarkan alamat:
if ((@$_SERVER["REMOTE_ADDR"] ?? "") === "YOUR.IP.HERE") {
ini_set("display_errors", "1");
error_reporting(E_ALL);
}
Catatan yang tumbuh terlalu cepat
sort /var/log/php/mysite-error.log | uniq -c | sort -rn | head -5
Satu pemberitahuan pada setiap permintaan menulis bergiga-giga dalam sehari. Baris teratas keluaran itu hampir selalu merupakan seluruh masalahnya.