ذخیره یا ارسال پیام های خطا در PHP
تابع ( ) error_log
به صورت پیش فرض ، PHP یک پیام حاوی اطلاعات خطا رخ داده را به سیستم logging سرور یا یک فایل خاص ، بسته به اینکه فایل php.ini ، بر روی سرور چگونه تنظیم شده باشد ، ارسال می کند . به وسیله تابع ( ) error_log ، می توانید پیام های خطا رخ داده را به یک فایل خاص یا به ایمیل کاربر ارسال نمایید .
اعضای شبکه مشاوران در حوزه «برنامهنویسی، وب و امنیت سایبری»
ارسال یک ایمیل حاوی اطلاعات خطا می تواند یکی از کارآمدترین روش ها باشد . البته فقط این کار را برای خطاهای مهم و از کار اندازنده انجام دهید ، نه هر خطای معمولی ! .
در مثال زیر ، نحوه استفاده از تابع ( ) error_log را در عمل نمایش داده و در صورت بروز خطا ، ایمیلی حاوی اطلاعات آن به آدرس ایمیل کاربر ، ارسال می شود :
مثال | < ? php // تابع مدیریت کننده خطا و فرستنده ایمیل function customError($errno, $errstr) { echo ” Error: [$errno] $errstr<br>”; echo “Webmaster has been notified”; error_log(“Error: [$errno] $errstr”,1, ” someone@example.com ” , ” From: webmaster@example.com ” ) ; }// تعیین تابع پیش فرض خطا set_error_handler(“customError”,E_USER_WARNING);// مکان بروز خطا $test=2; if ($test>1) { trigger_error(“Value must be 1 or below”,E_USER_WARNING); }? > |
خروجی خطای رخ داده در سیستم به صورت زیر خواهدد بود :
مثال | Error: [512] Value must be 1 or below Webmaster has been notified |
همچین کاربر ایمیلی با محتویات زیر را دریافت خواهد کرد :
مثال | Error: [512] Value must be 1 or below |