من أشهر أخطاء الـ misconfiguration في تطبيقات Laravel إن الـ debug mode يفضل مفعل على الـ production

لان ممكن يحصل خطأ غير متوقع ووقتها لارافيل بيعرض full stack trace للمستخدم

وبالتالي ممكن يتعرض بيانات حساسة زي:

  • Database Credentials
  • File Paths
  • Environment/Configuration Details
  • تفاصيل عن التطبيق وال internal structure

الحل بسيط وهو على ال production نتأكد إن القيم دي موجودة بالشكل الصحيح في .env:

APP_ENV=production
APP_DEBUG=false

وفي نقطة مهمة ناخد بالنا منها وهي config cache

في ال production عادتا بنستخدم: php artisan config:cache

وده بيخلي Laravel يعتمد على الـ cached configuration

لذلك، لو عدلنا قيمة في .env بعد تنفيذ cache:config فالتعديل ممكن مينعكسش علي التطبيق

علشان كدة بعد أي تعديل علي .env لازم نعيد بناء ال configuration cache:

php artisan config:clear
php artisan config:cache

الملخص:

  1. نتأكد ان الـ debug mode مش شغال في الـ production
  2. أي تغيير في .env نعمل بعده refresh لـ config cache