The Laravel Survival Guide Guide

It’s 9:58 PM. You just pushed what you thought was a tiny hotfix: “Update user avatar validation.”

The 10 PM Deployment Rule

php artisan optimize:clear php artisan config:cache # only if in production php artisan queue:restart 90% of “broken after deploy” is cached config pointing to the wrong env. Don’t tail -200 and panic. Do this: the laravel survival guide

Use php artisan octane:start or sail up -d with APP_ENV=local but CACHE_DRIVER=redis and QUEUE_CONNECTION=database . Simulate production locally, or the Laravel gods will simulate failure for you at 2 AM. It’s 9:58 PM

php artisan config:clear php artisan config:cache php artisan queue:restart Then verify: php artisan tinker --execute="dd(config('queue.default'));" Check your Eloquent::saving() event listeners. Check your observers. One of them is returning false — which cancels the save silently. Do this: Use php artisan octane:start or sail