137 کنترل ارور ها در برنامه های PHP 439

برنامه های PHP دارای ۴ نوع ارور هستند که عبارتند از Fatal errors, Parse or syntax errors, Notice errors, Warning errors که در ادامه همه را بررسی می کنیم و سپس یاد خواهیم گرفت که چگونه ذخیره شدن یا نشدن لاگ ها روی سرور و خروجی ارور ها در سمت کاربر را کنترل یا در واقع فعال و غیر فعال کنیم، بنده در ادامه قطعه کد را هم به زبان PHP و هم به زبان آپاچی کانفیگ یا همان htaccess برای شما قرار می دهم.

🔧 تعریف انواع ارور در PHP

1- Fatal errors

ارور هایی به شدت جدی هستند که رخ دادنشان باعث می شود که برنامه توقف پیدا کند، برای مثال اگر PHP بخواهد یک فانکشن که وجود ندارد را پیدا کند برنامه متوقف شده و با ارور Fatal مواجه می شود.

2- Parse or syntax errors

این نوع ارور زمانی رخ می دهد که کاراکتر های اشتباه یا خارج از استاندارد نوشتاری PHP تایپ کرده باشیم و یا کاراکتر سمی کالن را در انتهای خطوط برنامه فراموش کرده باشیم و از این قبیل اشتباهات نوشتاری و... در این نوع ارور ها برنامه متوقف نمی شود اما پیامی با عنوان Parse error: syntax error, unexpected توسط PHP نمایش داده می شود.

3- Notice errors

در این نوع ارور ها PHP سعی می کند به ما اطلاع دهد که چیزی (مثلا یک تابع Built-in) ممکن است در آینده به مشکل تبدیل شود و ما را آگاه می کند، این ارور ها جنبه اطلاع رسانی داشته و برنامه را متوقف نمی کنند، توابع Built-in یا Internal (built-in) functions به توابعی گفته می شود که پیش ساخته و به صورت پیش فرض درون زبان PHP وجود دارند.

4- Warning errors

اخطار ها یا هشدار ها ارور هایی هستند که زمانی رخ می دهند که قسمتی از برنامه دارای مشکلاتی است که ممکن است در آینده به مشکلات بحرانی تبدیل شوند این نوع ارور ها باعث توقف برنامه نمی شوند (اخطار معمولا چیزی را نشان می دهد که هنوز یک مشکل کامل نیست یا حداقل یک مشکل مهم و بحرانی نیست)


📃 قطعه کد - Snippet

کنترل ارور ها در برنامه های PHP

🔰 کنترل ارور ها با htaccess

این کد باید در روت دایرکتوری برنامه قرار بگیرد تا عمل کند، گزینه پیشنهادی من این روش است


# Disable all errors with htaccess
# غیر فعال کردن تمامی ارور ها در کل برنامه (نمایش و لاگ)
php_flag error_reporting 0
php_flag display_errors 0
php_flag display_startup_errors 0
# Enable all errors with htaccess
# فعال کردن تمامی ارور ها در کل برنامه (نمایش و لاگ)
php_flag error_reporting 1
php_flag display_errors 1
php_flag display_startup_errors 1

💠 کنترل ارور ها با PHP

این کد باید در شروع برنامه قرار بگیرد و دقیقا از نقطه قرارگیری به بعد عمل خواهد کرد، بر اساس معماری نرم افزاری که در پروژه پیاده سازی کرده ایم می توانیم از این کد استفاده کنیم


// Disable all errors with php
// غیر فعال کردن تمامی ارور ها در کل برنامه (نمایش و لاگ)
error_reporting(0);
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
// Enable all errors with php
// فعال کردن تمامی ارور ها در کل برنامه (نمایش و لاگ)
error_reporting(1);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
برنامه نویسی PHP برنامه نویسی htaccess