PHP Error و Logging کارکردها

PHP Error معرفی

Error اور Logging فونکشن غلطیوں کی ریکارڈنگ اور ریکارڈنگ کا کام کرنا دیتا ہے۔

Error فونکشن استعمال کنندہ کو غلطی کی ریکارڈنگ قوانین سیٹنگ کرنا اور غلطی ریکارڈنگ طریقہ بدلنا دیتا ہے۔

logging فونکشن استعمال کنندہ کو اپنے ایپلی کیشن کی ریکارڈنگ کرنا دیتا ہے اور ریکارڈ پیغامات کو ای میل، نظام کی ریکارڈ یا دیگر مشینوں کو ارسال کرنا دیتا ہے۔

error فونکشن غلطی کی ریکارڈنگ اور ریکارڈنگ کا کام انجام دینے کے لئے استعمال کیا جاتا ہے۔

error فونکشن غلطی کی اپنی ریکارڈنگ قوانین سیٹنگ کرنا اور غلطی ریکارڈنگ طریقہ بدلنا دیتا ہے۔

logging فونکشن ان پیغامات کو دیگر مشینوں، ای میل یا نظام کی ریکارڈ میں ارسال کرنا دیتا ہے۔

error reporting فونکشن غلطی کا نوعیت اور درجہ پائیدار کرنے کی اجازت دیتا ہے۔

نصب

PHP 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 کا سیٹنگ کیا جائے گا، تو پہلے مرحلے میں غلطیوں کی ریکارڈنگ کو نمائش نہیں کیا جائے گا۔

نوٹ: تیز کیا جائے کہ آپ debug مقصد سے ملحق رکھتے ہوئے 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
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 در اطلاعات اشتباه غیرفعال شوند.
  • PHP_INI_ALL
  • PHP_INI_SYSTEM در PHP <= 4.2.3.
xmlrpc_errors "0" اگر فعال باشد، گزارش‌دهی اشتباه عادی را غیرفعال کرده و فرمت اشتباه را به فرمت اطلاعات اشتباه XML-RPC تنظیم می‌کند. PHP_INI_SYSTEM
xmlrpc_error_number "0" به عنوان مقادیر element faultCode XML-RPC استفاده می‌شود. PHP_INI_ALL
docref_root "" (در دسترس از PHP 4.3) PHP_INI_ALL
docref_ext "" (در دسترس از 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

PHP Error و Logging کارکردها

توابع ترجیح
debug_backtrace() backtrace را تولید کنید.
debug_print_backtrace() backtrace را چاپ کنید.
error_get_last() آخرین اشتباه رخ‌داده را بازگردانید.
error_log() پیام‌های اشتباه را به ثبت‌نویسی اشتباه سرور، فایل یا هدف دور‌رس ارسال کنید.
error_reporting() تعیین کنید که کدام اشتباه را گزارش دهیم.
restore_error_handler() بازپس‌گیری برنامه‌ی اشتباه پیشین.
restore_exception_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 PHP شروع کی جانب سے پیدا ہونے والی فوری خطا. اس خطا مشابه 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 ایکشن فائل کا استعمال کریں تا یقین رکھیں کہ کوڈ بہترین عملیاتی اور آگے کی سازگار کی حامل ہو
4096 E_RECOVERABLE_ERROR 可被捕捉的致命错误。它表示发生了一个可能非常危险的错误,但是还没有导致 PHP 引擎处于不稳定的状态。 如果该错误没有被用户自定义句柄捕获 (参见 set_error_handler()),将成为一个 E_ERROR 从而脚本会终止运行。
8192 E_DEPRECATED آپریشن کے دوران نوٹس دینا۔ یہ فعال کرنے پر مستقبل کی نسلوں میں ممکن ہونے والی غلطیوں کے بارے میں وارننگ دینا جائے گا۔
16384 E_USER_DEPRECATED صارف کی جانب سے پیدا ہونے والی وارننگیں کا ذکر کیا جاتا ہے۔ مشابه E_DEPRECATED، لیکن یہ صارف کے ذریعے خود کو کد میں استعمال کرکے PHP فنکشن trigger_error() کے ذریعے پیدا ہوتا ہے۔
32767 E_ALL E_STRICT تمام غلطیوں اور وارننگوں کے لئے، جزو طور پر استعمال کیا جاتا ہے۔