تسمح لك وظيفتا الخطأ والتسجيل بمعالجة الأخطاء وتسجيلها.
تتيح وظيفة الخطأ للمستخدم تحديد قواعد معالجة الأخطاء وتعديل طريقة تسجيل الأخطاء.
تتيح وظيفة التسجيل للمستخدمين تسجيل التطبيقات وإرسال رسائل السجل إلى البريد الإلكتروني أو سجلات النظام أو الأجهزة الأخرى.
تتأثر وظيفة الخطأ بملف التكوين php.ini.
خيارات تكوين الخطأ والسجل:
المعلمة | القيمة الافتراضية | يصف | نطاق قابل للتعديل |
---|---|---|---|
error_reporting | باطل | يضبط مستوى خطأ PHP ويعيد المستوى الحالي (رقم أو ثابت). | 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" | قم بتعيين ما إذا كنت تريد تسجيل معلومات خطأ تشغيل البرنامج النصي في سجل أخطاء الخادم أو error_log. لاحظ أن هذا عنصر تكوين خاص بالخادم. | PHP_INI_ALL |
log_errors_max_len | "1024" | قم بتعيين الحد الأقصى لعدد البايتات في log_errors وستتم إضافة معلومات حول مصدر الخطأ إلى error_log. القيمة الافتراضية هي 1024. إذا تم ضبطها على 0، فلن يكون هناك حد للطول. إعداد الطول هذا له تأثير محدود على الأخطاء المسجلة، والأخطاء المعروضة، و$php_errormsg. | PHP_INI_ALL |
تجاهل_الأخطاء_المتكررة | "0" | لم يتم تسجيل المعلومات المكررة. يجب أن تحدث أخطاء متكررة في نفس سطر التعليمات البرمجية في نفس الملف، ما لم يتم تعيينign_repeated_source على true. | PHP_INI_ALL |
تجاهل_المصدر_المكرر | "0" | عندما يتم تجاهل الرسائل المكررة، يتم أيضًا تجاهل مصدر الرسالة. عند تشغيل هذا الإعداد، لن يتم تسجيل الرسائل المكررة سواء تم إنشاؤها بواسطة ملفات مختلفة أو أسطر مختلفة من التعليمات البرمجية المصدر. | PHP_INI_ALL |
report_memleaks | "1" | إذا تم تعيين هذه المعلمة على إيقاف، فلن يتم عرض معلومات تسرب الذاكرة (في stdout أو السجلات). | PHP_INI_ALL |
Track_errors | "0" | إذا تم تمكينه، فسيظل الخطأ الأخير موجودًا دائمًا في المتغير $php_errormsg. | PHP_INI_ALL |
html_errors | "1" | أغلق علامات HTML في رسائل الخطأ. | PHP_INI_ALLPHP_INI_SYSTEM في PHP <= 4.2.3. |
xmlrpc_errors | "0" | يقوم بإيقاف تشغيل الإبلاغ عن الأخطاء العادية وتنسيق الأخطاء كرسائل خطأ XML-RPC. | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | يتم استخدامه كقيمة لعنصر رمز خطأ XML-RPC. | PHP_INI_ALL |
docref_root | "" | يتضمن تنسيق رسالة الخطأ الجديد صفحة مرجعية مقابلة تصف الخطأ بشكل محدد أو تصف الوظيفة التي تسببت في الخطأ. من أجل توفير صفحات الدليل، يمكنك تنزيل دليل اللغة المقابل من موقع PHP الرسمي وتعيين عنوان URL في ini على العنوان المحلي المقابل. إذا كان من الممكن الوصول إلى نسختك المحلية من الدليل باستخدام "/manual/"، فيمكنك ببساطة تعيين docref_root=/manual/. بالإضافة إلى ذلك، تحتاج أيضًا إلى تعيين docref_ext لمطابقة لاحقة ملفك المحلي docref_ext=.html. بالطبع، يمكنك أيضًا تعيين عنوان مرجعي خارجي. على سبيل المثال، يمكنك تعيين docref_root=http://manual/en/ أو docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F " | PHP_INI_ALL |
docref_ext | "" | راجع docref_root. | PHP_INI_ALL |
error_prepend_string | باطل | إخراج المحتوى قبل رسالة الخطأ. | PHP_INI_ALL |
error_append_string | باطل | إخراج المحتوى بعد رسالة الخطأ. | PHP_INI_ALL |
error_log | باطل | يضبط الملف الذي سيتم تسجيل أخطاء البرنامج النصي إليه. يجب أن يكون الملف قابلاً للكتابة بواسطة مستخدم خادم الويب. | PHP_INI_ALL |
تعد وظائف الخطأ والتسجيل جزءًا من جوهر لغة PHP. لا يلزم التثبيت لاستخدام هذه الوظائف.
PHP : يشير إلى إصدار PHP الأقدم الذي يدعم هذه الوظيفة.
وظيفة | يصف | PHP |
---|---|---|
debug_backtrace() | توليد أثر خلفي. | 4 |
debug_print_backtrace() | طباعة التتبع الخلفي. | 5 |
error_get_last() | احصل على الخطأ الأخير الذي حدث. | 5 |
error_log() | إرسال خطأ إلى سجل أخطاء الخادم أو الملف أو الوجهة البعيدة. | 4 |
تقرير_الخطأ() | يحدد الخطأ الذي يجب الإبلاغ عنه. | 4 |
Restore_error_handler() | استعادة معالج الأخطاء السابق. | 4 |
Restore_exception_handler() | استعادة معالج الاستثناء السابق. | 5 |
set_error_handler() | قم بتعيين وظيفة معالجة الأخطاء المعرفة من قبل المستخدم. | 4 |
set_exception_handler() | قم بتعيين وظيفة معالجة الاستثناءات المعرفة من قبل المستخدم. | 5 |
مشغل_خطأ () | إنشاء رسائل خطأ محددة من قبل المستخدم. | 4 |
خطأ_المستخدم () | الاسم المستعار لـ المشغل_خطأ (). | 4 |
PHP : يشير إلى إصدار PHP الأقدم الذي يدعم هذا الثابت.
قيمة | ثابت | يصف | PHP |
---|---|---|---|
1 | E_ERROR | خطأ فادح في وقت التشغيل. أخطاء غير قابلة للإصلاح. توقف عن تنفيذ البرنامج النصي. | |
2 | تحذير إلكتروني | خطأ غير فادح في وقت التشغيل. لم يتم إيقاف تنفيذ البرنامج النصي. | |
4 | E_PARSE | تجميع خطأ في تحليل الوقت. يجب أن يتم إنشاء أخطاء التحليل بواسطة المحلل اللغوي فقط. | |
8 | إشعار إلكتروني | إخطارات وقت التشغيل. يمكن أن يكون اكتشاف البرنامج النصي خطأ، ولكن يمكن أن يحدث أيضًا عند تشغيل البرنامج النصي بشكل طبيعي. | |
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. | 4 |
128 | E_COMPILE_WARNING | خطأ غير فادح في وقت الترجمة. هذا يشبه E_WARNING الذي تم إنشاؤه بواسطة محرك البرمجة النصية Zend. | 4 |
256 | E_USER_ERROR | خطأ فادح أنشأه المستخدم. يشبه هذا الخطأ E_ERROR الذي أنشأه المبرمج باستخدام وظيفة PHPزناد_خطأ(). | 4 |
512 | E_USER_WARNING | خطأ غير فادح أنشأه المستخدم. هذا يشبه E_WARNING الذي أنشأه المبرمج باستخدام وظيفة PHP مشغل_خطأ (). | 4 |
1024 | E_USER_NOTICE | الإخطارات التي أنشأها المستخدم. هذا يشبه E_NOTICE الذي أنشأه المبرمج باستخدام وظيفة PHP مشغل_خطأ (). | 4 |
2048 | E_STRICT | إخطارات وقت التشغيل. توصي PHP بإجراء تغييرات على التعليمات البرمجية الخاصة بك لتحسين إمكانية التشغيل التفاعلي للتعليمات البرمجية والتوافق. | 5 |
4096 | E_RECOVERABLE_ERROR | أخطاء قاتلة يمكن التقاطها. يشبه هذا الخطأ E_ERROR الذي يمكن اكتشافه بواسطة مقبض محدد من قبل المستخدم (راجع set_error_handler()). | 5 |
6143 | E_ALL | جميع مستويات الأخطاء والتحذيرات باستثناء E_STRICT (منذ PHP 6.0، سيكون E_STRICT جزءًا من E_ALL). | 5 |