Apakah programmer tetap melaporkan kesalahan atau tidak?

12

Saya bertanya-tanya apakah pemrogram php terus error_reporting di php.ini hidup atau mati setelah memberikan situs web?


sumber

Jawaban:

18

Anda harus selalu melaporkan kesalahan, mencatat sebagian besar peristiwa penting dan mengaudit. Jika tidak, pada hari aplikasi Anda akan gagal karena suatu alasan, Anda akan mengalami kesulitan untuk mencari tahu apa yang terjadi.

Karena itu, pelaporan kesalahan harus dilakukan secara internal, dan tidak pernah ditunjukkan kepada pengguna akhir, karena itu akan menjadi masalah keamanan untuk menunjukkan informasi sensitif. Anda dapat menggunakan display_errorsdan log_errorsmengatur untuk ini: di php.ini-production, yang pertama diatur ke off, sedangkan yang kedua adalah on.

Omong-omong, php.ini-productionsudah jawab pertanyaan Anda:

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED

Komentar lain juga memberi tahu Anda bahwa:

Secara default, PHP diatur untuk mengambil tindakan terhadap semua kesalahan, pemberitahuan, dan peringatan KECUALI yang terkait dengan E_NOTICE dan E_STRICT, yang secara bersama-sama membahas praktik terbaik dan rekomendasi standar pengkodean dalam PHP. Untuk alasan kinerja, ini adalah pengaturan pelaporan kesalahan yang direkomendasikan. Server produksi Anda tidak boleh membuang-buang sumber daya mengeluh tentang praktik terbaik dan standar pengkodean.

Arseni Mourzenko
sumber
Terima kasih atas jawabannya. Sangat jelas bahwa pelaporan kesalahan sangat berguna saat situs web dikembangkan tetapi saya bingung jika pengembang mematikannya setelah situs web dibuat sehingga klien tidak melihat kesalahan apa pun. Terima kasih telah menjelaskan konsepnya.
Jika pengembang error_reportingmati dalam produksi, ia kemungkinan akan menyembunyikan sesuatu.
Lekensteyn
Anda ingin mengaktifkan debug dan melacak level logging dalam produksi. Pelaporan tingkat kesalahan sangat penting ketika terjadi kesalahan. Sebagian besar situs akan menginginkan pencatatan informasi diaktifkan jika dilakukan dengan tepat.
BillThor
@FahadUddin Anda tidak ingin pengunjung situs web / aplikasi Anda melihat kesalahan. Satu-satunya hal yang kami batasi adalah tampilan kesalahan pada pengguna akhir, logging menangani sisanya. Namun, praktik yang baik menentukan bahwa jika terjadi kesalahan tingkat aplikasi (misalnya koneksi DB yang buruk) bahwa kami memberi tahu pengguna akhir ada yang tidak beres dan pada backend mengingatkan pengembang segera.
Ian Lewis