زمانی که شما به عنوان یک تازه کار شروع به استفاده از لاراول میکنید ممکن است با مشکلات متعددی روبرو شوید. ما در این مقاله از سری آموزشهای لاراول به بررسی ۵ خطای رایج در اجرای پروژه های لاراولی میپردازیم. برخی از این خطاها میتواند باعث شکست برنامه و عدم اجرای لاراول شود
رفع ارور های رایج در لاراول
MethodNotAllowedHttpException
این ارور زمانی بوجود میآید که http method ها در route به درستی مقدار دهی نشده باشد به عنوان مثال زمانی که شما در هنگام تعریف یک URL انتظار دارید اطلاعات بصورت POST برایتان ارسال شود اما برنامه اطلاعات را بصورت GET دریافت میکند در این حالت ارور بالا نمایش داده میشود.
برای حل این مشکل کافیست متد مربوط به ارسال اطلاعات را دوباره بررسی کنید.
۴۱۹ Error / Page Expired
این ارور مربوط به ساختار امنیتی وردپرس میباشد ارور ۴۱۹ یا page expire زمانی نمایش داده میشود که CSRF_TOKEN در بدنه فرم های HTML شما وجود نداشته باشد.
برای حل این مشکل میبایست این کد را در فرم های خود قرار دهید
<input type="hidden" name="_token" id="csrf-token" value="{{ Session::token() }}" />
Excluding routes from CSRF Protection
ممکن است شما بخواهید در برخی از درخواست ها بررسی CSRF را غیر فعال کنید برای این منظور کافی هست که در mdidleware آن ًRoute را استثنا کنید مانند مثال زیر
<?php namespace App\Http\Middleware; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware; class VerifyCsrfToken extends Middleware { /** * The URIs that should be excluded from CSRF verification. * * @var array */ protected $except = [ 'stripe/*', 'http://example.com/foo/bar', 'http://example.com/foo/*', ]; }
File Permission for storage
در محیط توسعه . لاراول تعداد زیادی فایل به عنوان فایل های Log در سیستم ایجاد میکند زمانی که پوشه مربوط به ذخیره سازی این فایلها دسترسی خواندن را نداشته باشند سیستم با این ارور مواجه خواهد شد. برای حل این مشکل کافی هست که به پوشه هایی که نیاز به نوشتن دارد را دسترسی مناسب بدهید. مانند مثال زیر
sudo chmod -R 776 /bootstrap /storage
ReflectionException / Class does not exist
این مشکل زمانی اتفاق میفتد که ما در کدها به یک کلاس اشاره میکنیم اما آن کلاس وجود ندارد
برای مثال ما در فایل web.php یک URI را به یک کنترلر ارجاع میدهیم اما آن کنترلر توسط سیستم شناسایی نمیشود که ممکن است به دلیل نام کنترلر یا نام کلاس تعریف شده در کنترلر باشد. دقت کنید که باید حتما نام فایل با نام کلاس یکسان باشد
۵۰۰ Error
این ارور خطرناک ترین ارور حتی برای برای برنامه نویسان باتجربه میباشد! برای حل مشکل ارور ۵۰۰ در لاراول ابتدا ما نیاز داریم که سرور را بررسی کنیم اگر وضعیت سرور بدون مشکل بود در مرحله بعد ما میبایست به دنبال ارورهای منطقی در سورس کدهای خود باشیم که البته این مرحله ممکن است برای برنامه نویسان تازه کار زمانبر باشد. درصورتی که مشکل با این بررسی ها حل نشد باید Log هایی که در پوشه storage ایجاد شده است را بررسی کنید