ثبت خطا (error_log)
گاهی خطا پیش می آید و گم می شوی. با «ثبت خطا» می توانی پیام خطا را در لاگ ذخیره کنی. تابع error_log() پیام را به لاگ، فایل، یا ایمیل می فرستد.
تعریف ساده و کاربرد
error_log() یک «پیام خطا (Error Message)» می گیرد. سپس آن را به مقصد دلخواه می فرستد. مقصد می تواند لاگ سیستم، ایمیل، فایل، یا هندلر SAPI باشد.
نحو (Syntax) و پارامترها
error_log(message, type, destination, headers);
message: متن پیام خطا است.
type: مقصد پیام را تعیین می کند. مقدار 0 لاگ سیستم؛ 1 ایمیل؛ 3 فایل؛ 4 هندلر SAPI.
destination: بسته به type مقصد را مشخص می کند.
headers: فقط برای type=1 است. هدرهای ایمیل مثل From و Cc.
مثال 1: ثبت در لاگ سرور
اگر اتصال دیتابیس ناموفق شد، پیام را در لاگ سیستم بنویس.
<?php
$connected = mysqli_connect("localhost", "bad_user", "bad_password", "my_db");
if (!$connected) {
error_log("Failed to connect to database!", 0);
}
?>
نکته: در php.ini مسیر لاگ با error_log پیکربندی می شود. سپس مقدار 0 به همانجا می رود.
مثال 2: ارسال ایمیل به مدیر
اگر منبع لازم تمام شد، سریع ایمیل هشدار بفرست.
<?php
$foo = allocate_new_foo();
if (!$foo) {
error_log("Oh no! We are out of FOOs!", 1, "admin@example.com");
}
?>
هشدار: برای ایمیل، تنظیمات میل سرور لازم است. همچنین هدرها را با \n جدا کن.
مقادیر بازگشتی و نسخه ها
- بازگشتی: در موفقیت
TRUEو در خطاFALSE. - نسخه PHP: از 4.0 به بعد.
- تغییرات: مقدار 4 برای
typeاز PHP 5.2.7.
گام های عملی ثبت خطا
- پیام مناسب و کوتاه بنویس.
- نوع مقصد را انتخاب کن.
- درصورت نیاز، مقصد را تنظیم کن.
- کد را اجرا و نتیجه را بررسی کن.
پیوندهای مفید
برای دیدن آخرین خطا، صفحه آخرین خطا را ببین. برای بررسی مسیر اجرا، به چاپ ردیابی پشته سر بزن. همچنین این صفحه مرجع W3Schools و صفحه لیست توابع خطا کمک می کند.
جمع بندی سریع
- با «ثبت خطا» رد خطا را نگه دار.
- نوع 0 برای لاگ سیستم است.
- نوع 1 برای ایمیل هشدار است.
- نوع 3 برای افزودن به فایل است.