Cargar el proyecto Laravel en el servidor web

Estoy intentando subir mi proyecto Laravel a mi servidor web, pero mis dos bashs anteriores no han tenido éxito. Creo que no estoy cargando los archivos en la ubicación correcta.

Esta es la estructura de mi servidor web -> Estructura del servidor web

¿Estoy en lo correcto al decir que necesito subir TODOS mis archivos de laravel a public_html?

Este es el directorio de mi proyecto Laravel:

Laravel Project Directory

EDITAR: ahora he agregado todos los archivos en la carpeta raíz y público en public_html, sin embargo, ninguna de mis rutas parece funcionar. (Funcionan perfectamente en localhost). Todo arroja un 404

No, pero tienes un par de opciones:

Lo más fácil es cargar todos los archivos que tiene en ese directorio (es decir, el directorio de inicio del usuario de cPanel) y poner el contenido del público en public_html. De esa manera, la estructura de su directorio será algo como esto (ligeramente desordenado pero funciona):

/ .composer/ .cpanel/ ... app/ <- your laravel app directory etc/ bootstrap/ <- your laravel bootstrap directory mail/ public_html/ <- your laravel public directory vendor/ artisan <- your project's root files 

Es posible que también necesite editar bootstrap/paths.php para señalar el directorio público correcto.

La otra solución, si no te gusta tener todos estos archivos en ese directorio 'raíz' sería ponerlos en su propio directorio (tal vez 'laravel') que todavía está en el directorio raíz y luego editar las rutas para que funcionen correctamente. Sin embargo, todavía tendrá que poner los contenidos del public en public_html , y esta vez edite su public_html/index.php para iniciar la aplicación correctamente. La estructura de su carpeta será mucho más ordenada de esta manera (aunque podría haber algunos dolores de cabeza con las rutas debido a jugar con la estructura diseñada del marco más):

 / .composer/ .cpanel/ ... etc/ laravel/ <- a directory containing all your project files except public app/ bootstrap/ vendor/ artisan mail/ public_html/ <- your laravel public directory 

Creo que tus archivos / carpetas Laravel no deberían colocarse en el directorio raíz.

por ejemplo, si su dominio apunta al directorio public_html , entonces todo el contenido debe colocarse en ese directorio. Cómo ? Déjame decirte

  1. Copie todos los archivos y carpetas (incluida la carpeta pública) en html público
  2. Copie todo el contenido de la carpeta pública y péguelo en la raíz del documento (es decir, public_html)
  3. Eliminar la carpeta pública
  4. Abra su bootstrap / paths.php y luego cambie 'public' => __DIR__.'/../public', en 'public' => __DIR__.'/..',

  5. y finalmente en index.php,

    Cambio

 require __DIR__.'/../bootstrap/autoload.php'; $app = require_once __DIR__.'/../bootstrap/start.php'; 

dentro

 require __DIR__.'/bootstrap/autoload.php'; $app = require_once __DIR__.'/bootstrap/start.php'; 

Su aplicación Laravel debería funcionar ahora.

Si intenta alojar su aplicación Laravel en un alojamiento compartido, esto puede ayudarlo.

Hosting Laravel en alojamiento compartido n. ° 1

Hosting Laravel en alojamiento compartido n. ° 2

Si desea PHP 5.4, agregue esta línea a su archivo .htaccess o llame a su proveedor de alojamiento.

AddType application/x-httpd-php54 .php

Todos sus archivos Laravel deben estar en una ubicación. Laravel está exponiendo su carpeta pública al servidor. Esa carpeta representa algún tipo de controlador frontal para toda la aplicación. Dependiendo de la configuración del servidor, debe apuntar la ruta del servidor a esa carpeta. Como puedo ver, hay un sitio www en tu foto. www es el directorio raíz predeterminado en máquinas Unix / Linux. Lo mejor es echar un vistazo dentro de la configuración del servidor y buscar la ubicación del directorio raíz. Como puede ver, Laravel ya tiene un archivo llamado .htaccess , con alguna configuración de Apache lista.

También tuvo este problema y descubrió que la forma más fácil es dirigir su dominio a la carpeta pública y dejar todo lo demás tal como está.

POR FAVOR, ASEGÚRESE DE UTILIZAR LA VERSIÓN CORRECTA DE PHP. Ahórrese un poco de estrés 🙂

En Laravel 5.x no hay paths.php

por lo tanto, debe editar public/index.php y cambiar estas líneas para pintar en su directorio bootstrap :

 require __DIR__.'/../bootstrap/autoload.php'; $app = require_once __DIR__.'/../bootstrap/app.php'; 

Para más información, puede leer este artículo.

    Intereting Posts