مرورگر با خطای ۵۰۰ فقط میگوید سرور نتوانسته پاسخ سالم بسازد. در Laravel جزئیات داخل storage/logs/laravel.log است. اگر آن فایل خالی است، یا خطا قبل از بوت شدن لاراول رخ داده، یا مجوز نوشتن روی پوشه storage نیست و خودِ ثبت لاگ شکست خورده.
چیزهایی که بعد از انتقال به سرور زیاد دیده میشود
- نبودن
APP_KEYیا خالی بودن.env - نسخه PHP سرور که با نسخه پروژه یکی نیست
- اجرا نشدن مهاجرتها و ستونی که کد انتظار دارد
- مجوز نوشتن روی
storageوbootstrap/cache - کش کانفیگ قدیمی:
php artisan config:cacheکه هنوز مقدار محیط قبلی را دارد
APP_DEBUG را روشن نگذارید
روشن کردن دیباگ روی سایت عمومی، مسیر فایل، تنظیمات و گاهی بخشهایی از محیط را به هر بازدیدکننده نشان میدهد. اگر برای یک لحظه لازم است، باید بعد از ثبت خطا دوباره خاموش شود. راه درست، خواندن لاگ روی سرور است.
۵۰۰ با ۵۰۲ یکی نیست
اگر لاگ لاراول در همان ثانیه هیچ چیز ندارد و Nginx خطای ۵۰۲ میدهد، مشکل احتمالاً به PHP-FPM برمیگردد نه به یک exception داخل کد. آن مسیر جداست.
برای بررسی روی پروژه خودتان، صفحه رفع خطاهای Laravel یا رفع خطای ۵۰۰ را ببینید و آدرس همان صفحهای که خطا میدهد را بفرستید.