Laravel: Error de permisos al intentar borrar el caché
Este artículo tiene más de un año de antigüedad, el contenido pudiera estar obsoleto.
Al hacer deploys automáticos con Envoy encontré un error, indicaba que no estaba limpiando el cache de la aplicación por problemas de permisos. Acá te muestro como lo solucioné.
Mi usuario para hacer los deploys se llama bender (si, como Bender de Futurama 🤣) por lo que al usar Envoy ejecutaba este comando: php artisan cache:clear
. Para solucionar este problema, primero hay que revisar que el usuario bajo el cual se ejecuta PHP (www-data si usas Apache / NGINX) tenga permisos de escritura en el directorio de caché de tu aplicación. Y eso se puede hacer simplemente listando el directorio storage
de la siguiente forma:
1bender@server:~/html/project$ ls -l storage/2total 243drwxrwxr-x 3 www-data www-data 4096 Jun 12 2022 app4drwxrwxr-x 2 www-data www-data 4096 Aug 6 19: 03 debugbar5drwxrwxr-x 6 www-data www-data 4096 Jan 7 23: 05 framework6drwxrwxr-x 2 www-data www-data 4096 Aug 6 19: 03 image7drwxrwxr-x 2 www-data www-data 4096 Jun 12 2022 logs8drwxrwxr-x 3 www-data www-data 4096 Aug 26 04: 46 media-library
En este caso, el usuario no es el mismo por lo que necesitaba cambiar ese comportamiento y para eso necesitaba la ayuda de los comandos chown
y chmod
:
1sudo chown -R $USER:www-data storage2sudo chown -R $USER:www-data bootstrap/cache3chmod -R 775 storage4chmod -R 775 bootstrap/cache
Luego hay que verificar que el cambio se haya realizado correctamente y para eso usamos el mismo comando ls -l
:
1bender@server:~/html/project$ ls -l storage/2total 243drwxrwxr-x 3 bender www-data 4096 Jun 12 2022 app4drwxrwxr-x 2 bender www-data 4096 Aug 6 19: 03 debugbar5drwxrwxr-x 6 bender www-data 4096 Jan 7 23: 05 framework6drwxrwxr-x 2 bender www-data 4096 Aug 6 19: 03 image7drwxrwxr-x 2 bender www-data 4096 Jun 12 2022 logs8drwxrwxr-x 3 bender www-data 4096 Aug 26 04: 46 media-library
Y con eso validamos que el cambio se hizo correctamente y ahora no tendremos problemas. Espero que esto te sirva de ayuda si también tienes algún problema parecido en algún momento.