PHP حقيقتا از گزارش خطا و ثبت وقايع ، به خوبي پشتيباني مي كند . هرچند اين عمل باعث رفع خطاها نمي شود ، اما در تشخيص آن ها بسيار موثر است . تابع error_reporting نوع خطاهايي كه بايد توسط PHP گزارش شود را مشخص مي كند . اولين دستور زير باعث غير فعال شدن اين عمل مي شود .و دومين دستور تمام خطاهايي كه اتفاق مي افتد را گزارش مي دهد :
error_reporting (0);
error_reporting (E_ALL);
تابع ديگري با دستور ( ) error_log خطاهاي اتفاق افتاده را در يك فايل ثبت مي كند :
error_log ("message", "type", "destination");
شما در PHP مي توانيد تعيين كنيد كه ، در صورت ايجاد يك اشكال در برنامه ، پيغامي در يك فايل براي شما نوشته شود و يا اين پيغام مستقيما توسط ايميل به شما ارسال شود . براي ارسال اين پيغام توسط يك ايميل بايد از دستور زير استفاده كنيد :
error_log(“message”, "1", "alvani@gmail,com");
اما PHP در مورد خطاهاي منطقي برنامه نويسي نمي تواند راهنمايي كند . شما هنگامي متوجه اين دسته از خطاها مي شويد كه نتايج به دست آمده از اجراي برنامه ، متفاوت از انتظارات شما باشد . در اين مورد PHP مشخص نمي كند كه خطا در چه خطي صورت گرفته است ، بنابراين شما بايد با استفاده از يك سري روش هاي جستجو اين خطاها را در طول برنامه شناسايي كنيد . در يادداشت هاي آتي اين روش ها بررسي خواهد شد .