السلام عليكم ورحمة الله وبركاته 
في تجولي في الأنترنت وجدت هذا الموضوع وهو يتحدث عن تقارير الأخطاء في البرمجة ...

أترككم مع الموضوع ...
------------------



Error Reporting
 
يعتبر ايضا من المفاتيح السحرية لاختراق برنامجك ،فيجب عليك قبل نشر برنامجك او استخدامه على لايف سيرفر ان تقوم بإلغاءالابلاغ عن الاخطاء تماما ، وان تكتفى بملف ال Log فقط لمتابعة الاخطاء التى قد تكون نتجت.

طبعا ظهور خطأ فى برنامجك يؤدى الى كشف مناطق ضعف برنامجك واتاحة البيانات الهامة للمبرمجين المحترفين

وللتحكم فى ظهور الاخطاء اثناء تنفيذ البرنامج يتم ذلك عن طريق استخدام الدالة error_reporting()
ولهذه الدالة العديد من المستويات ، فالخطأ فى لغة ال PHP ينقسم الى :
1- خطأ قبل البدء فى معالجة الكود startup error (المفتاح E_CORE_ERROR)
2- خطأ املائى parsing error (المفتاح E_ERROR)
3- خطأ تحذيرىwarning (المفتاح E_WARNING)
4- خطأ تنبيهى notice (المفتاح E_NOTICE)

ولقد قمت بترتيبهم على حسب الاهمية 

وهذا اختصار لشرح استخدامها 
وتستخدم الدالة error_reporting عن طريق تمرير مفتاح الخطأ لها 

فمثلا اذا كنت تريد عرض التنبيهات فقط استخدم المثال التالى
كود PHP:
error_reporting(E_NOTICE);  
اما اذا اردت عدم عرض التنبيهات فيجب ان تسبق المفتاح برمز التشديد فى اللغة العربية
shift + ذ
كما فى المثال التالى
كود PHP:
error_reporting(~E_NOTICE); // لاحظ حرف ~ قبل المفتاح  
وبالمثل يمكنك التطبيق على باقى المستويات

ولكن ماذا اذا اردت الجمع بين مفتاحين يعنى مثلا تريد عرض الاخطاء الاملائية ولا تعرض التحذيرات ؟

يمكنك عمل هذا بالفصل بين المفاتيح برمز الانبوب PIPE او العصا | فهذا الرمز يمثل عمل حرف " و " 

المثال التالى يعرض الاخطاء الاملائية E_ERROR ( و ) لا يعرض الاخطاء التنبيهية E_NOTICE
كود PHP:
error_reporting(E_ERROR|~E_NOTICE);  
ولكن ايضا ماذا اذا اردت ان امنع ظهور كل الاخطاء ؟ هل يجب ان اكتب كل مفاتيح الاخطاء ؟؟؟
بالطبع لا ، فالمفتاح E_ALL يرمز لاتاحة كل الاخطاء والمفتاح ~E_ALL يرمز لمنع كل الاخطاء ( لاحظ الشدة)

خلاصة الموضوع انك حينما ترفع برنامجك للعمل على السيرفر يجب ان تمنع كل انواع الاخطاء من الظهور
كود PHP:
error_reporting(~E_ALL);//اوerror_reporting0); // نفس عمل ~E_ALL  
ايضا هناك انواع اخطاء كثيرة وليست فقط التى ذكرتها ، ولكنها لن تفيدك فلا داعى للاطالة



رابط الموضوع الأصلي