Qué está pasando
El contenedor corre como usuario sail dentro de /var/www/html, pero los archivos (especialmente .env y storage/) pertenecen a tu usuario local (carlos), entonces PHP no puede escribir logs ni cache.
🩹 Solución rápida (1 comando desde tu host)
Ejecutá esto desde la raíz del proyecto (fuera del contenedor):
sudo chmod -R 777 storage bootstrap/cache
Esto da permisos totales a Laravel para escribir logs, vistas compiladas, etc. Es suficiente para desarrollo.
✅ Solución más correcta (si querés mantener propiedad)
Dentro del contenedor (para que el usuario sail sea dueño):
./vendor/bin/sail bash -lc "chown -R sail:sail storage bootstrap/cache"
Y también asegurate de que el .env sea editable:
./vendor/bin/sail bash -lc "chown sail:sail .env"
🚀 Luego de arreglar permisos
Reiniciá el contenedor o limpia el cache de Laravel:
./vendor/bin/sail artisan optimize:clear
Y listo. Probá de nuevo la app → debería cargar sin el error de laravel.log ni .env.
Operation not permitted
Si sale el error “Operation not permitted” es porque adentro del contenedor el usuario sail no puede cambiar la propiedad de tu carpeta montada (la dueña es tu cuenta de Linux). Arreglalo desde el host, no desde dentro del contenedor.
Haz esto, en la raíz del proyecto:
- Pará contenedores (opcional pero prolijo)
./vendor/bin/sail down
- Tomá propiedad con tu usuario (en el host)
sudo chown -R "$USER":"$USER" storage bootstrap/cache .env
- Permisos seguros para dev
chmod -R ug+rwX storage bootstrap/cache chmod 664 .env
- (Recomendado) hacé que Sail use tu UID/GID
Agregá en tu.env:
WWWUSER=$(id -u) WWWGROUP=$(id -g)
y reconstruí:
./vendor/bin/sail build --no-cache ./vendor/bin/sail up -d
- Limpia cachés
./vendor/bin/sail artisan optimize:clear
Listo. Con eso:
- se va el error de
storage/logs/laravel.log(puede escribir), - y también el de
file_put_contents(.env)(si algo estaba intentando tocarlo).
Notas:
- El warning de
MYSQL_EXTRA_OPTIONSes solo un aviso: si querés silenciarlo podés ponerMYSQL_EXTRA_OPTIONS=en tu.env. - Si preferís el arreglo “rápido y sucio” en dev:
sudo chmod -R 777 storage bootstrap/cachetambién funciona, pero mejor usar propiedad +ug+rwX.
Si te vuelve a tirar algo luego de esto, pegá el nuevo error exacto y lo destrabamos.

