es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  ,

Answer

  1. Avatar for 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 ejecutando chown -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 por make('files')->copy. Esto copiará los archivos en lugar de crear un enlace simbólico.

Comments are closed.