کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

مرجع توابع مدیریت خطا و گزارش گیری (error handling & logging) PHP


مرجع توابع مدیریت خطا و گزارش گیری (error handling & logging) PHP


این توابع ویژه ی مدیریت خطاها و گزارش گیری (logging) در برنامه های PHP بکار گرفته می شوند. توابعی که در مبحث جاری به آن خواهیم پرداخت، به توسعه دهنده امکان می دهند تا قوانین مدیریت خطای اختصاصی خود را تعریف کرده و علاوه بر آن نحوه ی گزارش و لاگ گیری از خطاها را ویرایش کنند. بدین وسیله برنامه نویس می تواند ویژگی های گزارش خطا را بهبود بخشیده و نیازهای اختصاصی خود را برطرف کند.


به عبارت دیگر با استفاده از توابع گزارش گیری که در آموزش جاری با آن ها آشنا می شوید، قادر خواهید بود پیغام هایی را به طور مستقیم به کامپیوترهای دیگر، به یک ایمیل، به گزارشات سیستم (system logs) ارسال نمایید و از این طریق بر مهمترین بخش های اپلیکیشن ها و وب سایت های خود نظارت داشته و از آن ها به صورت گزینشی گزارش گیری نمایید.


تنظیمات زمان اجرای اپلیکیشن/Runtime configuration


عملکرد و رفتار این توابع توسط تنظیمات حاضر در فایل php.ini مدیریت می شود. این تنظیمات در زیر شرح داده شده اند.


اسم پارامتر مربوطه
پیش فرض
قابل ویرایش
ویرایش PHP که از این پارامتر استفاده می کند
error_reporting
NULL
PHP_INI_ALL
display_errors
"1"
PHP_INI_ALL
display_startup_errors
"0"
PHP_INI_ALL
قابل استفاده از ویرایش 4.3.0 زبان PHP
log_errors
"0"
PHP_INI_ALL
log_errors_max_len
"1024"
PHP_INI_ALL
قابل استفاده از ویرایش 4.3.0 زبان PHP
ignore_repeated_errors
"0"
PHP_INI_ALL
قابل استفاده از ویرایش 4.3.0 زبان PHP
ignore_repeated_source
"0"
PHP_INI_ALL
قابل استفاده از ویرایش 4.3.0 زبان PHP
report_memleaks
"1"
PHP_INI_ALL
قابل استفاده از ویرایش 4.3.0 زبان PHP
track_errors
"0"
PHP_INI_ALL
html_errors
"1"
PHP_INI_ALL
PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.0.2.
docref_root
""
PHP_INI_ALL
قابل استفاده از ویرایش 4.3.0 زبان PHP
docref_ext
""
PHP_INI_ALL
قابل استفاده از ویرایش 4.3.2 زبان PHP
error_prepend_string
NULL
PHP_INI_ALL
error_append_string
NULL
PHP_INI_ALL
error_log
NULL
PHP_INI_ALL
warn_plus_overloading
NULL
این امکان از PHP 4.0.0 به بعد دیگر پشتیبانی نمی شود.

ثوابت گزارش گیری و مدیریت خطاهای PHP


می توانید از این توابع به هنگام انجام تنظیمات در فایل php.ini استفاده نمایید.


Value
ثوابت و شرح آن ها
قدیمی ترین ویرایش PHP قابلیت استفاده از ثابت را دارد
1
E_ERROR
مربوط به خطاهای مهلک زمان اجرا می باشد. خطاهایی که امکان ترمیم و بازگشت از آن ها وجود ندارد و به محض رخداد آن ها اجرای اسکریپت PHP متوقف می شود.
2
E_WARNING
خطاهای جزئی زمان اجرای اپلیکیشن که به هنگام رخداد اجرای اسکریپت را متوقف نمی سازد.
4
E_PARSE
خطاهای مربوط به تجزیه و تحلیل نحوی (parse errors) که در زمان کامپایل اپلیکیشن رخ می دهند. این دست خطاها را تنها parser تولید می کند.
8
E_NOTICE
هشدارهای زمان اجرا. اسکریپت در زمان اجرا با چیزی مواجه شد که ممکن است خطا در برنامه باشد و یا خطاهایی باشد که به هنگام اجرای عادی اسکریپت اتفاق می افتد.
16
E_CORE_ERROR
خطاهای مهلک در زمان آغاز و اجرای اولیه ی اسکریپت PHP. این ثابت مشابه E_ERROR در هسته ی اصلی PHP می باشد.
4
32
E_CORE_WARNING
خطاهای غیر مهلک و جزئی در زمان اجرای اولیه ی اسکریپت PHP. این ثابت مشابه E_WARNING در هسته ی اصلی PHP می باشد.
4
64
E_COMPILE_ERROR
خطاهای مهلک که در زمان کامپایل اسکریپت اپلیکیشن رخ می دهد. این خطا مشابه E_ERROR ایت که موتور اسکریپت نویسی Zend (Zend Scripting Engine) آن را تولید می کند.
4
128
E_COMPILE_WARNING
خطاهای غیرمهلک زمان کامپایل اپلیکیشن. این خطا مشابه E_WARNING است که موتور اسکریپت نویسی Zend (Zend Scripting Engine) آن را تولید می کند.
4
256
E_USER_ERROR
خطاهای مهلک که توسط کاربر تولید می شوند. این خطا نیز مشابه E_ERROR است که کاربر (توسعه دهنده) آن را با فراخوانی تابع ()trigger_error تنظیم می کند.
4
512
E_USER_WARNING
هشدارهای جزئی که توسط کاربر تولید می شوند. این خطا مشابه E_WARNING است که کاربر (توسعه دهنده) با فراخوانی تابع ()trigger_error تنظیم می کند.
4
1024
E_USER_NOTICE
هشدارهایی که توسط کاربر تولید می شوند. این ثابت کاربردی مشابه E_NOTICE دارد که توسعه دهنده با استفاده از تابع ()trigger_error آن را تنظیم می کند.
4
2048
E_STRICT
هشدارهای زمان اجرا. PHP طی این هشدارها توصیه می کند که تغییراتی را جهت فراهم آوردن قابلیت همکاری و سازگاری کد به آن اضافه نمایید.
5
4096
E_RECOVERABLE_ERROR
خطاهای مهلک قابل مدیریت. این ثابت کاربردی مشابه E_ERROR دارد. توسعه دهنده می تواند با استفاده از تابع اختصاصی خود (به شرح تابع ()set_error_handler مراجعه نمایید) خطاهای از این دست را گرفته و مدیریت نماید.
5
8192
E_ALL
تمامی خطاها و هشدارها به جز خطاهای E_STRICT را شامل می شود.
5

فهرست توابع مدیریت خطا و گزارش گیری PHP


شماره
تابع مربوطه و شرح کاربرد آن
قدیمی ترین ویرایش PHP که از تابع پشتیبانی می کند
1
()debug_backtrace
تابع حاضر یک آرایه ی حاوی اطلاعات دقیق درباره ی خطای رخ داده به عنوان خروجی برمی گرداند.
4
2
()debug_print_backtrace
اطلاعات دقیق درباره ی خطای رخ داده چاپ می کند.
5
3
()error_get_last
این تابع اطلاعات آخرین خطای رخ داده در کد را بازمی گرداند.
5
4
()error_log
خطای مورد نظر را به فایل گزارشات خطاها مستقر در سرور، به ایمیل کاربر یا به مقصد راه دور ارسال می کند.
4
5
()error_reporting
مشخص می کند کدام خطاها بایستی گزارش شوند.
4
6
()restore_error_handler
تابعی قبلی مدیریت خطاها در اسکریپت را جهت اداره ی خطاها فراخوانی می کند.
4
7
()restore_exception_handler
تابع قبلی مدیریت کننده ی خطا (exception handler) را جهت مدیریت خطاهای زمان اجرا فراخوانی می کند.
5
8
()set_error_handler
یک تابع اختصاصی و تعریف شده توسط کاربر را برای مدیریت خطاها تنظیم و مشخص می کند.
4
9
()set_exception_handler
یک تابع اختصاصی و تعریف شده توسط کاربر برای مدیریت خطاهای زمان اجرای اپلیکیشن تنظیم می کند.
5
10
()trigger_error
تابع حاضر برای شناسایی خطا یا فراخوانی تابع مربوطه ی آن بکار می رود. این تابع همچنین یک پیغام اختصاصی مربوط به خطای رخ داد در اسکریپت تولید می کند.
4
11
()user_error
این تابع کاربردی مشابه trigger_error() دارد. در واقع برای شناسایی یک خطا و صدا زدن تابع مربوطه ی آن بکار می رود.
4
1396/04/12 3967 1549
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...