توابع خطا و Logging PHP
- Previous Page PHP Directory
- Next Page PHP Filesystem
مقدمه PHP Error
توابع Error و Logging به شما اجازه میدهند که خطاها را مدیریت و ثبت کنند.
توابع Error به کاربران اجازه میدهند که قوانین مدیریت خطا خودمان را تعریف کنیم و روش ثبت خطا را تغییر دهیم.
توابع logging به کاربران اجازه میدهند که برنامههای خود را ثبت کنند و پیامهای log را به ایمیل، log سیستم یا ماشینهای دیگر ارسال کنند.
توابع error برای انجام مدیریت خطا و ثبت استفاده میشوند.
توابع error به ما اجازه میدهند که قوانین مدیریت خطا خودمان را تعریف کنیم و روش ثبت خطا را تغییر دهیم.
توابع logging به ما اجازه میدهند که پیامها را مستقیماً به ماشینهای دیگر، ایمیل یا log سیستم ارسال کنیم.
توابع گزارش خطا به ما اجازه میدهند که نوع و سطح خطاها را تعیین کنیم.
نصب
توابع error بخشی از هسته PHP هستند. نیازی به نصب نیست تا از این توابع استفاده کنید.
پیکربندی زمانبندی
رفتار تابع error تحت تأثیر تنظیمات php.ini قرار دارد.
گزینههای Errors و logging به شرح زیر است:
نام | مقدار پیشفرض | توضیح | دامنه قابل تغییر |
---|---|---|---|
error_reporting | NULL | تنظیم سطح گزارش خطا (اعداد یا مقدار ثابت نامگذاری شده) | PHP_INI_ALL |
display_errors | "1" |
تعیین اینکه آیا خطاها به عنوان خروجی نمایش داده میشوند یا به کاربر مخفی میشوند. توجه:این ویژگی نباید در سیستمهای تولیدی استفاده شود (فقط برای توسعه پشتیبانی میشود) |
PHP_INI_ALL |
display_startup_errors | "0" |
اگر display_errors به حالت فعال باشد، اطلاعات خطاها در فرآیند راهاندازی PHP نمایش داده نمیشوند. توضیح: توصیه میشود که display_startup_errors را به غیر از اهداف رفع خطا غیرفعال کنید. |
PHP_INI_ALL |
log_errors | "0" |
تنظیم اینکه آیا اطلاعات خطاها در log_errors یا log_error سرور ثبت میشوند یا خیر. توضیح: این تنظیمات خاصی است که به سرور مرتبط است. توضیح: در سیستمهای تولیدی، توصیه میشود که از ثبت اطلاعات خطاها در وبسایت استفاده کنید. |
PHP_INI_ALL |
log_errors_max_len | "1024" |
تنظیم حداکثر تعداد بایت log_errors. در error_log اطلاعات منبع خطا اضافه میشود. مقدار پیشفرض 1024 است، اگر به 0 تنظیم شود، طول نامحدود است. تنظیمات طول این طول برای ثبت خطاها، نمایش خطاها و همچنین $php_errormsg محدودیت دارند. |
PHP_INI_ALL |
ignore_repeated_errors | "0" |
تعیین اینکه آیا اطلاعات خطای تکراری ثبت شود یا خیر. خطاهای تکراری باید در یک فایل و در یک خط کد مشابه ظاهر شوند، مگر اینکه تنظیم ignore_repeated_source به true تنظیم شده باشد. |
PHP_INI_ALL |
ignore_repeated_source | "0" |
تعیین اینکه آیا اطلاعات خطای تکراری ثبت شود یا خیر. در حالی که اطلاعات تکراری نادیده گرفته میشوند، منبع اطلاعات نیز نادیده گرفته میشود. وقتی که این تنظیم فعال باشد، اطلاعات تکراری از فایلهای مختلف یا خطوط کد مختلف ثبت نمیشوند. |
PHP_INI_ALL |
report_memleaks | "1" | اگر این پارامتر به On (پیشفرض) تنظیم شده باشد، گزارشهای نشتی حافظهی شناسایی شده توسط مدیریت حافظهی Zend نمایش داده میشوند. | PHP_INI_ALL |
track_errors | "0" | اگر فعال باشد، آخرین خطا همیشه در متغیر $php_errormsg وجود دارد. | PHP_INI_ALL |
html_errors | "1" | بستن برچسبهای HTML در اطلاعات خطا. |
|
xmlrpc_errors | "0" | اگر فعال باشد، گزارش خطای معمولی را غیرفعال کرده و فرمت خطا را به فرمت اطلاعات خطای XML-RPC تنظیم میکند. | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | به عنوان مقادیر element faultCode XML-RPC استفاده میشود. | PHP_INI_ALL |
docref_root | "" | (available since PHP 4.3) | PHP_INI_ALL |
docref_ext | "" | (available since PHP 4.3.2) | PHP_INI_ALL |
error_prepend_string | NULL | تعیین رشتهای که پیش از اطلاعات خطا چاپ میشود. | PHP_INI_ALL |
error_append_string | NULL | تعیین رشتهای که پس از اطلاعات خطا چاپ میشود. | PHP_INI_ALL |
error_log | NULL |
تنظیم فایلی که خطاهای اسکریپت در آن ثبت میشوند. این فایل باید قابل نوشتن توسط کاربر سرور وب باشد. اگر از مقدار خاص syslog استفاده شده باشد، اطلاعات خطا به ثبتنامدهندهی سیستم ارسال میشود. |
PHP_INI_ALL |
توابع خطا و Logging PHP
توابع | توضیح |
---|---|
debug_backtrace() | تولید backtrace. |
debug_print_backtrace() | چاپ backtrace. |
error_get_last() | برگردان خطای آخرین رخداده. |
error_log() | ارسال پیام خطا به ثبتنامدهندهی خطا سرور، فایل یا هدف دور. |
error_reporting() | تعیین کنید که کدام خطا گزارش شود. |
restore_error_handler() | بازپسگیری برنامهی پردازش خطا قبلی. |
restore_exception_handler() | بازگرداندن تابع مدیریت استثناهای قبلی. |
set_error_handler() | تنظیم تابع مدیریت خطاهای کاربر تعریف شده. |
set_exception_handler() | تنظیم تابع مدیریت استثناهای کاربر تعریف شده. |
trigger_error() | ایجاد پیامهای خطای سطح کاربر. |
user_error() | نامگذاری جایگزین trigger_error() |
ثابتهای خطا و لاگ پیشتعریف شده PHP 5
مقدار | ثابت | توضیح |
---|---|---|
1 | E_ERROR | خطاهای قاتل زمان اجرا. خطاهایی که قابل تعمیر نیستند. اجرای اسکریپت را متوقف میکنند. |
2 | E_WARNING | خطاهای غیرقابل پیشبینی زمان اجرا. این خطاها اجرای اسکریپت را متوقف نمیکنند. |
4 | E_PARSE | خطاهای نحوی زمان اجرا. خطاهای تحلیل تنها توسط تحلیلگر تولید میشوند. |
8 | E_NOTICE | اطلاعیههای زمان اجرا. نشاندهنده این که اسکریپت ممکن است با خطا مواجه شود، اما در اسکریپتهایی که به درستی اجرا میشوند نیز ممکن است اطلاعات مشابهی وجود داشته باشد. |
16 | E_CORE_ERROR | خطاهای قاتل زمان راهاندازی. این خطا مشابه E_ERROR است، اما توسط هسته موتور PHP تولید شده است. |
32 | E_CORE_WARNING | هشدارهای زمان راهاندازی PHP (خطاهای غیرقابل پیشبینی). مشابه E_WARNING، اما توسط هسته موتور PHP تولید شده است. |
64 | E_COMPILE_ERROR | خطای قاتل زمان اجرا. مشابه E_ERROR، اما توسط موتور اسکریپت Zend تولید شده است. |
128 | E_COMPILE_WARNING | هشدارهای زمان اجرا (خطاهای غیرقابل پیشبینی). مشابه E_WARNING، اما توسط موتور اسکریپت Zend تولید شده است. |
256 | E_USER_ERROR | اطلاعیههای خطای کاربر تولید شده. مشابه E_ERROR، اما توسط کاربر خود در کد از تابع PHP trigger_error() تولید شده است. |
512 | E_USER_WARNING | اطلاعیههای هشدار کاربر تولید شده. مشابه E_WARNING، اما توسط کاربر خود در کد از تابع PHP trigger_error() تولید شده است. |
1024 | E_USER_NOTICE | اطلاعیههای کاربر تولید شده. مشابه E_NOTICE، اما توسط کاربر خود در کد از تابع PHP trigger_error() تولید شده است. |
2048 | E_STRICT | فعالسازی پیشنهادات تغییر کد PHP برای اطمینان از بهترین سازگاری و سازگاری به آینده. |
4096 | E_RECOVERABLE_ERROR | Catchable fatal error. It indicates that a potentially very dangerous error has occurred, but it has not yet caused the PHP engine to be in an unstable state. If this error is not caught by the user-defined handler (see set_error_handler()), it will become an E_ERROR and the script will terminate. |
8192 | E_DEPRECATED | Run-time notifications. When enabled, it will warn about code that may not work properly in future versions. |
16384 | E_USER_DEPRECATED | User-generated warning messages. Similar to E_DEPRECATED, but generated by the user themselves using the PHP function trigger_error(). |
32767 | E_ALL | All error and warning messages except E_STRICT. |
- Previous Page PHP Directory
- Next Page PHP Filesystem