PHP Error و Logging کارکردها
- پچھلے پہلا PHP ڈائریکٹری
- آئندہ پہلا PHP فائل سسٹم
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 در اطلاعات اشتباه غیرفعال شوند. |
|
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 تمام غلطیوں اور وارننگوں کے لئے، جزو طور پر استعمال کیا جاتا ہے۔ |
- پچھلے پہلا PHP ڈائریکٹری
- آئندہ پہلا PHP فائل سسٹم