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.

Laravel Hosting Compartido: /www/../vendor/autoload.php: no se pudo abrir el flujo: No existe el archivo o directorio.

Estoy tratando de alojar una aplicación Laravel en un hosting compartido. La carpeta predeterminada es ‘/www’ y no se puede cambiar, no hay una carpeta public_html. Sin embargo, al navegar en el sitio web, obtengo un Error 500 y en los registros obtengo:

Got error ‘PHP message: PHP Warning: require(/absolutepath/www/../vendor/autoload.php): failed to open stream: No such file or directory in /absolutepath/www/index.php on line 34PHP message: PHP Fatal error: require(): Failed opening required ‘/absolutepath/www/../vendor/autoload.php’ (include_path=’.’) in /absolutepath/www/index.php on line 34′

Todo funciona localmente y he seguido una guía sobre cómo configurar un proyecto Laravel para hosting compartido. Hice lo siguiente:
1. Moví index.php y .htaccess a la raíz del proyecto
2. Cambié <code>require __DIR__.'/../vendor/autoload.php';</code> a <code>require __DIR__.'/vendor/autoload.php';</code> en index.php
3. Cambié <code>$app = require_once __DIR__.'/../bootstrap/app.php';</code> a <code>$app = require_once __DIR__.'/bootstrap/app.php';</code> en index.php
4. Cambié <code>require_once __DIR__.'/public/index.php';</code> a <code>require_once __DIR__.'/index.php';</code> en server.php

Mi estructura de archivos se ve así:
Estructura de archivos

Ya he intentado:
– composer update y composer dump-autoload
– composer install
– php artisan key:generate

También:
– php artisan route:cache
– php artisan view:clear
– php artisan config:cache

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para alojar una aplicación Laravel en un hosting compartido, es posible que te encuentres con el Error 500 y el mensaje de error indicado. Para solucionar este problema, puedes seguir los siguientes pasos:

    1. Verifica la versión de PHP del entorno de hosting compartido y asegúrate de que sea compatible con la versión de Laravel que estás utilizando.
    2. Mueve el contenido de la carpeta public al directorio raíz de tu proyecto. Mueve los archivos index.php y .htaccess fuera de la carpeta public_html.

    3. Edita la línea vendor/autoload.php en el archivo index.php. Cámbiala por require __DIR__.'/../vendor/autoload.php';.

    4. Edita la línea bootstrap/app.php en el archivo index.php. Cámbiala por $app = require_once __DIR__.'/../bootstrap/app.php';.

    5. Edita el archivo public/index.php. Cambia la línea require __DIR__.'/../bootstrap/autoload.php'; por require __DIR__.'/../blog/vendor/autoload.php';. Además, cambia la línea $app = require_once __DIR__.'/../bootstrap/app.php'; por $app = require_once __DIR__.'/../blog/bootstrap/app.php';.

    6. Asegúrate de que los permisos del directorio estén configurados correctamente. Es decir, los directorios deben tener permisos 755 y los archivos permisos 644.

    7. Limpia la caché ejecutando los siguientes comandos Artisan:

      php artisan cache:clear
      php artisan route:clear
      php artisan config:clear
      

    Siguiendo estos pasos, deberías poder alojar tu aplicación Laravel en un hosting compartido sin experimentar el Error 500.

Comments are closed.