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.