به دلیل مسائل امنیتی Display error ( گزارش خطا ) بر روی سرورها ، در تنظیمات php غیرفعال می باشد . برنامه نویسان می توانند با توجه به نیازهایشان ، برای مشاهده خطاهای PHP خود ، با وارد کردن هر یک از کدهای زیر در ابتدای برنامه خود، بتوانند انواع مختلف خطاهای برنامه را مشاهده و برای رفع مشکل اقدام کنند.
رسیدگی به خطاها در php بسیار ساده است . به صورت پیشفرض اگر خطایی رخ دهد، یک پیغام خطا که توضیح دهنده ی خطا است ، همراه با نام فایل و شماره خط به مرورگر فرستاده می شود.
به طور پیشفرض ، در هنگام بروز خطا در یک اسکریپت PHP ، متن خطا به همراه آدرس فایلی که خطا ها در آن رخ داده می شوند و اطلاعاتی نظیر پشته صدا زدن تابع ها (Call Stack) در صفحه ، نمایش داده میشود.
نمایش این اطلاعات به کاربر نهایی سیستم ممکن است خطرناک باشد، به دلیل اینکه بعضا اطلاعات مهمی در مورد اسم فایل ها ، توابع و خطاهای موجود در آنها را نمایش می دهد . بنابراین بهتر است در هنگام توسعه یک برنامه نمایش این خطاها را آزاد بگذاریم ولی در هنگام انتشار محصول، نمایش خطاهای پیش آمده را غیر فعال کنیم . برای فعال یا غیر فعال کردن نمایش خطاها در PHP میتوان از تنظیمات فایل php.ini استفاده کرد. همینچنین میتوان از دستورات زبان پی اچ پی که به همین منظور تعریف شده اند استفاده کرد.
فعالسازی نمایش خطا ها :
ini_set('display_errors', 1); error_reporting(~E_NOTICE & ~E_STRICT);
غیر فعالسازی نمایش خطا :
ini_set('display_errors', 0); error_reporting(~E_WARNING & ~E_NOTICE & ~E_STRICT);
برای ذخیره خطاهای پیش آمده در برنامه ،می توانیم از دستورات زیر قبل از غیر فعالسازی نمایش خطاها استفاده کنیم.
ini_set('log_errors' , '1'); ini_set('error_log' , '/path/to/errors_log.txt');
نکته : توجه داشته باید فایل مورد نظر باید Writable باشد تا ارور ها در آن ذخیره شود .