โปรแกรมเมอร์ยังคงรายงานข้อผิดพลาดหรือปิดอยู่หรือไม่?


12

ฉันสงสัยว่าโปรแกรมเมอร์ php ให้ error_reporting ใน php.ini หรือไม่หลังจากส่งมอบเว็บไซต์?

php 

คำตอบ:


18

คุณควรรายงานข้อผิดพลาดอยู่เสมอบันทึกเหตุการณ์สำคัญและการตรวจสอบ มิฉะนั้นวันที่ใบสมัครของคุณจะล้มเหลวด้วยเหตุผลบางอย่างคุณจะมีเวลาลำบากในการพิจารณาว่าเกิดอะไรขึ้น

สิ่งนี้ถูกกล่าวว่าการรายงานข้อผิดพลาดจะต้องทำภายในและไม่แสดงให้ผู้ใช้เห็นเพราะเป็นปัญหาด้านความปลอดภัยที่จะแสดงข้อมูลที่ละเอียดอ่อน คุณสามารถใช้display_errorsและlog_errorsการตั้งค่าสำหรับการนี้ในphp.ini-productionครั้งแรกที่มีการตั้งค่าในขณะที่สองคือoffon

อย่างไรก็ตามphp.ini-productionตอบคำถามของคุณแล้ว:

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

ความคิดเห็นอื่นก็บอกคุณว่า:

โดยค่าเริ่มต้น PHP ถูกตั้งค่าให้ดำเนินการกับข้อผิดพลาดคำเตือนและคำเตือนทั้งหมดยกเว้นที่เกี่ยวข้องกับ E_NOTICE และ E_STRICT ซึ่งรวมถึงแนวทางปฏิบัติที่ดีที่สุดและมาตรฐานการเข้ารหัสที่แนะนำใน PHP สำหรับเหตุผลด้านประสิทธิภาพนี่เป็นการตั้งค่าการรายงานข้อผิดพลาดที่แนะนำ เซิร์ฟเวอร์ที่ใช้งานจริงของคุณไม่ควรเปลืองทรัพยากรบ่นเกี่ยวกับแนวปฏิบัติที่ดีที่สุดและมาตรฐานการเข้ารหัส


ขอบคุณสำหรับคำตอบ. เป็นที่ชัดเจนว่าการรายงานข้อผิดพลาดมีประโยชน์มากในขณะที่เว็บไซต์ได้รับการพัฒนา แต่ฉันสับสนหากนักพัฒนาปิดหลังจากสร้างเว็บไซต์ขึ้นเพื่อให้ลูกค้าไม่เห็นข้อผิดพลาดใด ๆ ขอบคุณสำหรับการล้างแนวคิด

หากนักพัฒนาerror_reportingปิดการผลิตเขามีแนวโน้มที่จะซ่อนอะไรบางอย่าง
Lekensteyn

คุณต้องการเปลี่ยนการดีบักและการติดตามระดับการติดตามในการผลิต การรายงานระดับข้อผิดพลาดเป็นสิ่งจำเป็นเมื่อสิ่งผิดปกติ ไซต์ส่วนใหญ่จะต้องการเปิดใช้งานการบันทึกข้อมูลหากมีการดำเนินการอย่างเหมาะสม
BillThor

@FahadUddin คุณไม่ต้องการให้ผู้ดูเว็บไซต์ / แอปพลิเคชันของคุณเห็นข้อผิดพลาด สิ่งเดียวที่เรา จำกัด คือการแสดงข้อผิดพลาดของผู้ใช้การบันทึกจะดูแลส่วนที่เหลือ อย่างไรก็ตามแนวปฏิบัติที่ดีกำหนดว่าในกรณีที่เกิดข้อผิดพลาดระดับแอปพลิเคชัน (ตัวอย่างเช่นการเชื่อมต่อฐานข้อมูลไม่ดี) เราจะแจ้งให้ผู้ใช้ปลายทางทราบว่ามีบางอย่างผิดปกติและในแบ็กเอนด์แจ้งเตือนผู้พัฒนาทันที
Ian Lewis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.