Sail: диагностика и производителност

Тук са събрани чести триения с Sail, които не са „бъгове на Laravel“: файлова система, мрежата на Compose, кеш на образи и PHP разширения в контейнери. Четете заедно с Бази данни и услуги, Опашки и Среди и деплой.

Навигация: Всички инструменти · Sail · БД · Опашки · Env

Съдържание


WSL2, Docker Desktop и синхронизация на файлове

На Windows + WSL2 монтирането от /mnt/c/... в Linux контейнери често е бавно и чупи watcher-и (Vite). Дръжте проекта във ФС на WSL (напр. ~/projects/...).


Права, storage и vendor

Laravel изисква запис в storage/ и bootstrap/cache/ за PHP потребителя в laravel.test. На Linux хост WWWUSER / WWWGROUP в .env намаляват файлове „от root“.

sail exec laravel.test ls -la storage bootstrap/cache

Портът е зает / FORWARD_*

Задайте различни FORWARD_DB_PORT, APP_PORT, FORWARD_REDIS_PORT за всеки проект. Вътре в контейнерите вътрешните портове остават стандартни. Вижте Среди и деплой.


„На хоста работи, в Sail — не“

php на хостаsail artisan. Липсващи разширения в образа — редактирайте Dockerfile и sail build --no-cache. Хостове в .envимена на услуги (pgsql, redis), не 127.0.0.1. БД.


Остарял код: пресборка и слоеве

sail build --no-cache
sail up -d

След промени в кода на воркери: sail artisan queue:restart (Опашки).


OPcache и автозареждане в dev

Проверете validate_timestamps в php.ini. sail composer dump-autoload след PSR-4 промени.


Xdebug забавя

Изключвайте, когато не дебъгвате активно.


Vite, npm, Node извън и в Sail

Подравнете APP_URL, HMR и прокси портове. Env.


Логове и бърза диагностика

sail logs -f laravel.test
docker compose ps
sail exec laravel.test php -m

Кога да нулирате томове (загуба на данни)

sail down -v изтрива именованите томове. За един том: docker volume rm. Томове.


Вижте също

← Всички инструменти