اکنون که در حال مطالعه این مقاله هستید، ممکن است شما نیز با خطای Internal Server Error در پروژه لاراولی خود مواجه شده باشید.
Internal Server Error 500 یا به اختصار خطای 500 در Laravel بر دو نوع است:
1- نمایش خطای 500 از سوی مرورگر: در این صورت مشکلی در کدها وجود دارد و اکثراً با مراجعه به فایل Error_log متن خطای دریافتی را میتوانید مشاهده کنید. در غیر این صورت مطابق با مقالهی نحوه فعالسازی نمایش خطا یا ثبت آن در Error_log، این کار را انجام دهید.
البته در بسیاری از مواقع به خصوص در صورت استفاده از مرورگر فایرفاکس، به جای نمایش خطای 500، با صفحهی سفید یا همان Blank Page مواجه خواهید شد. نگران نباشید؛ راه حل همان است!
2- نمایش خطای 500 از سمت سرور: در این صورت در وبسایت عبارت Internal Server Error با فونت درشت نوشته میشود و عنوان تب نیز 500 Internal Server Error خواهد بود.
در هر دو حالت میتوانید جهت رفع مشکل اقدامات زیر را انجام دهید اما در حالت اول بهتر است ابتدا متن خطا را مشاهده کنید. شاید نیاز به انجام مورد دیگری باشد.
راه حل رفع خطای Internal Server Error
1- اولین چیزی که لازم است بررسی شود، سطح دسترسی است. Permission یا همان سطح دسترسی تمامی پوشهها (دایرکتوریها) باید بر روی 755 و تمامی فایلهای PHP بر روی 600 (یا 644) تنظیم شوند.
2- در صورت عدم رفع مشکل، پوشهی Storage را یافته و سطح دسترسی آن را بر روی 777 قرار دهید. درواقع باید دسترسی write به آن داد.
3- در اکثر مواقع با انجام دو مورد فوق مشکل رفع خواهد شد اما در صورت عدم رفع مشکل مورد بعدی که لازم است بررسی شود، کدهای درون فایل .htaccess است. موارد زیادی است که کدهای درون این فایل موجب بروز Internal Server Error شده است از جمله:
- عدم آدرس دهی صحیح به پوشهی Public و فایل Index.php
- عدم تعریف و تنظیم نسخهی PHP 7 به بالا در فایل .htaccess
- عدم نگارش صحیح کدهای مربوط به RewriteRule
- عدم پشتیبانی هاستتان از Options -MultiViews
لینکهای مفید