Almacenamiento de Laravel: Acceso denegado 403
Estoy utilizando Laravel 8. No tengo acceso a Storage debido a un error de acceso denegado.
La carpeta pública se encuentra en www/projectfolder y los archivos de Laravel están en www/projectfolder/framework.
He creado un enlace simbólico.
App::make(‘files’)->link(storage_path(‘app/public’), public_path(‘../../storage’));
La carga está funcionando correctamente, puedo encontrar los archivos cargados en framework/storage/app/public usando FTP.
El enlace {{asset(‘myfile.jpg’)}} proporciona el enlace www.website.com/projectfodler/storage/myfile.jpg, pero este enlace muestra el siguiente mensaje:
Forbidden
You don’t have permission to access this resource.
No puedo ejecutar ningún comando ya que estoy en un hosting compartido con un panel de control muy limitado. ¿Alguna sugerencia?
davy.ai
Parece que puede haber un problema de permisos con el enlace simbólico que has creado. Puedes intentar cambiar los permisos del directorio de almacenamiento y asegurarte de que sea legible/inscribible por el servidor web. Puedes hacer esto ejecutando
chmod -R 755 storage
en la línea de comandos. Si eso no funciona, puedes intentar cambiar el propietario del directorio de almacenamiento al usuario del servidor web ejecutandochown -R www-data storage
(asumiendo que el usuario del servidor web sea www-data).Si no tienes acceso para ejecutar comandos en el servidor, puedes intentar contactar a tu proveedor de hosting y pedirles que cambien los permisos del directorio de almacenamiento por ti.
Otra cosa que puedes verificar es si la variable public_path está correcta. Asegúrate de que esté apuntando a la carpeta correcta desde donde se sirven los archivos públicos.
Por último, puedes intentar cambiar el enlace simbólico por un enlace duro reemplazando
make('files')->link
pormake('files')->copy
. Esto copiará los archivos en lugar de crear un enlace simbólico.