انواع خطاهای PHP: Fatal Error – Parse – Warning- Notice
خطاهای PHP
خطاهای PHP زمانی ایجاد میشن که مشکلی در کد نویسی داشته باشیم، مانند فراخونی کلاس ها و فایل هایی که وجود ندارن، اشتباه تایپی، یا Syntax Error و … .بعضی از این خطاها بصورت خودکار توسط PHP اجرا میشن. در PHP، گزارش خطاها (Error Reporting) ابزاری است که به شما کمک میکنه تا مشکلات کد رو شناسایی و رفع کنید. این گزارش ها میتونن انواع مختلفی داشته باشن، که هر کدوم اطلاعات خاصی در مورد نوع و محل خطا در کد شما میده. در اینجا انواع گزارش خطاها در PHP و نحوه استفاده از آن ها را توضیح میدیم:
Fatal Error یا E_ERROR
این نوع خطا به معنای خطای بحرانی است که باعث توقف اجرای برنامه میشود. زمانی که PHP به این نوع خطا برخورد میکنه، دیگر قادر به ادامه اجرای کد نخواهد بود و اسکریپت متوقف میشه و خودش به بخش های زیر تقسیم میشه :
- Startup fatal error : در این نوع خطا کدهای PHP اجرا نمیشن و مشکل از تنظیمات یا نصب PHP ممکن هست باشه.
- Compile time fatal error : این نوع خطا زمانی رخ میده که فایل ها و کلاس ها و … وجود ندارن.
- Run time fatal error : این نوع خطا هم مثل Compile time fatal error زمان اجرای برنامه رخ میده.
Startup Fatal Error (خطای بحرانی در زمان راهاندازی)
این خطا زمانی رخ میده که مشکلات جدی در راه اندازی PHP وجود داشته باشه و ممکن هست به دلیل مشکلاتی مثل تنظیمات PHP یا نصب نادرست PHP باشه. هنگامی که این خطا رخ میده، حتی قبل از اجرای کدهای PHP، PHP به درستی شروع به کار نمیکنه و برنامه اجرا نمیشه. اگر تنظیمات php.ini به درستی پیکربندی نشده باشه یا نسخه PHP نصب شده مناسب نباشه، ممکن هست به این نوع خطا برسید. راهحل: بررسی تنظیمات PHP، اطمینان از صحت نصب PHP و تطابق نسخه PHP با نیازهای سیستم.
Compile Time Fatal Error (خطای بحرانی در زمان کامپایل)
این نوع خطا زمانی رخ میده که در حین کامپایل یا پردازش فایل های PHP، مشکلاتی در یافتن فایل ها، کلاس ها، توابع یا متغیرها وجود داشته باشه. این خطا معمولا در زمان بارگذاری اولیه اسکریپت ها اتفاق میافته و به دلیل نبود فایل ها یا کدهای مورد نیاز برای اجرای اسکریپتها رخ میده.
Run Time Fatal Error (خطای بحرانی در زمان اجرا)
این خطا در هنگام اجرای برنامه رخ میده و به دلیل مشکلی در منطق یا اجرای کد در طول زمان اجرا است. مانند زمانی که به متغیر یا تابعی که موجود نیست، دسترسی پیدا میکنید یا با منابعی که در دسترس نیستند، مواجه میشید.
نمونه ای از خطای Fatal Error
Fatal error: Call to undefined function wp_removable_query_args() in /home/misc.php on line 900
Parse Error
نوعی خطای PHP است که معمولا به دلیل اشتباهات نحوی در کد PHP رخ میده. یعنی این خطا زمانی اتفاق میافته که PHP نتونه کد شما را به درستی تجزیه و پردازش کنه. این خطا میتونه به دلیل مشکلاتی مثل فراموش کردن نقطهویرگول (;) یا استفاده از پرانتزها یا آکولادها، اشتباه تایپی اتفاق بیافته.
نمونه ای از خطای Fatal Error
Parse error: syntax error, unexpected ‘;’ in /home/runningw/public_html/test/customize.php on line 167
Warning (هشدار)
Warning (هشدار) در PHP نوعی پیام است که نشون میده که یک مشکل غیرجدی در کد وجود داره اما اجرای کد متوقف نمیشه، اما PHP به شما اطلاع میده که ممکن هست مشکلی وجود داشته باشه که در آینده باعث بروز مشکلات بشه یا عملکرد برنامه را تحت تاثیر قرار بده.
نمونه ای از خطای Warning
Warning: Division by zero in ... on line 10
Notice (یادآوری)
Notice (یادآوری) یکی دیگه از انواع پیغامهای خطا در PHP است که مشابه با Warning است، اما کماهمیت تر است. این نوع پیام ها معمولا به شما اطلاع میدن که در کد شما یک رفتار یا عمل به نحوی نادرست یا ناخواسته رخ داده، اما برخلاف Warning یا Fatal Error، اجرای کد به طور کامل متوقف نمیشه و برنامه همچنان ادامه پیدا میکنه.
نمونه از خطای Notice
Notice: Undefined variable: result in ... on line 2