Laravel

Laravel: Error de permisos al intentar borrar el caché

Autorangel cruz
Publicado
Lectura1 min de lectura
Laravel: Error de permisos al intentar borrar el caché

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:

bender@server:~/html/project$ ls -l storage/
total 24
drwxrwxr-x 3 www-data www-data 4096 Jun 12  2022 app
drwxrwxr-x 2 www-data www-data 4096 Aug  6 19: 03 debugbar
drwxrwxr-x 6 www-data www-data 4096 Jan  7 23: 05 framework
drwxrwxr-x 2 www-data www-data 4096 Aug  6 19: 03 image
drwxrwxr-x 2 www-data www-data 4096 Jun 12  2022 logs
drwxrwxr-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:

sudo chown -R $USER:www-data storage 
sudo chown -R $USER:www-data bootstrap/cache 
chmod -R 775 storage 
chmod -R 775 bootstrap/cache

Luego hay que verificar que el cambio se haya realizado correctamente y para eso usamos el mismo comando ls -l:

bender@server:~/html/project$ ls -l storage/
total 24
drwxrwxr-x 3 bender www-data 4096 Jun 12  2022 app
drwxrwxr-x 2 bender www-data 4096 Aug  6 19: 03 debugbar
drwxrwxr-x 6 bender www-data 4096 Jan  7 23: 05 framework
drwxrwxr-x 2 bender www-data 4096 Aug  6 19: 03 image
drwxrwxr-x 2 bender www-data 4096 Jun 12  2022 logs
drwxrwxr-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.

Bio
Angel Cruz

Desarrollador web full-stack enfocado en React, buenas prácticas y código abierto. Apasionado por construir productos útiles y compartir lo aprendido en el camino.