سلام
در زبان برنامه نویسی PHP این قابلیت به صورت پیش فرض وجود داره که سطح خطاهای گزارش شده را تعیین کرد. یعنی اگر شما در برنامه تحت وب خود خطایی دارید که مشکلی در روند کار برنامه و امنیت برنامه ایجاد نمی کنه می توانید به صورت موقت خطا ها را غیر فعال کرده تا در فرصت مناسب خطا را یافته و کلا از بین ببریدش.
در PHP چندین راه هست برای این کار:
۱- اگر به تنظیمات PHP سرورتون دسترسی دارید می تونید فایل php.ini رو باز کنید و این مقدار رو پیدا کنید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و به این صورت تغییرش بدید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این روش نمایش خطا ها رو تماما غیر فعال می کند می کند که اصلا پیشنهاد نمیشه.
۲- می تونید برای یک برنامه خاص روی سرور ارور ها رو غیر فعال کنید به این صورت که شما باید فایل اصلی این برنامه که در تمامی صفحات استفاده میشه رو پیدا کنید و فانکشن های زیر رو در اون قرار بدید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در خط اول فانکشن ini_set مقادیر فایل php.ini رو تغییر میده که اگر به اون فایل دسترسی ندارید یا در هر صورت نمی خواهید تغییرش بدید این روش خوبی هست و در خط دوم هم error_reporting همون تابع مورد نظر ما هست که خطا ها رو نشون میده. البته اگر display_errors رو خاموش کنید ارور ها دیگر نمایش داده نخواهند شد ولی error_reporting رو هم می تونید استفاده کنید که به صورت کلی syntax این تابع مانند زیر هست :
1 |
E_ERROR |
Fatal run-time errors. Errors that can not be recovered from. Execution of the script is halted |
2 |
E_WARNING |
Non-fatal run-time errors. Execution of the script is not halted |
4 |
E_PARSE |
Compile-time parse errors. Parse errors should only be generated by the parser |
8 |
E_NOTICE |
Run-time notices. The script found something that might be an error, but could also happen when running a script normally |
16 |
E_CORE_ERROR |
Fatal errors at PHP startup. This is like an E_ERROR in the PHP core |
32 |
E_CORE_WARNING |
Non-fatal errors at PHP startup. This is like an E_WARNING in the PHP core |
64 |
E_COMPILE_ERROR |
Fatal compile-time errors. This is like an E_ERROR generated by the Zend Scripting Engine |
128 |
E_COMPILE_WARNING |
Non-fatal compile-time errors. This is like an E_WARNING generated by the Zend Scripting Engine |
256 |
E_USER_ERROR |
Fatal user-generated error. This is like an E_ERROR set by the programmer using the PHP function trigger_error() |
512 |
E_USER_WARNING |
Non-fatal user-generated warning. This is like an E_WARNING set by the programmer using the PHP function trigger_error() |
1024 |
E_USER_NOTICE |
User-generated notice. This is like an E_NOTICE set by the programmer using the PHP function trigger_error() |
2048 |
E_STRICT |
Run-time notices. PHP suggest changes to your code to help interoperability and compatibility of the code |
4096 |
E_RECOVERABLE_ERROR |
Catchable fatal error. This is like an E_ERROR but can be caught by a user defined handle (see also set_error_handler()) |
8191 |
E_ALL |
All errors and warnings, except level E_STRICT (E_STRICT will be part of E_ALL as of PHP 6.0) |
برای خاموش کردن نمایش ارور ها هم همونطور که گفته شد از مقدار ۰ استفاده کنید.
۳- اگر فقط می خواهید برای یک فانکشن یا مقدار ارور ریپورتینگ رو خاموش کنید کافی هست علامت @ را به اول آن اضافه کنید برای مثال :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که require_once در اینجا فانکشنی هست که به عنوان مثال استفاده شده است.
امیدوارم این آموزش مورد استفاده قرار بگیره