plantillas - laravel foreach index
Cargar el proyecto Laravel en el servidor web (6)
Estoy intentando subir mi proyecto Laravel a mi servidor web, pero mis dos intentos 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 ->
¿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:
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
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
- Copie todos los archivos y carpetas (incluida la carpeta pública) en html público
- Copie todo el contenido de la carpeta pública y péguelo en la raíz del documento (es decir, public_html)
- Eliminar la carpeta pública
Abra su bootstrap / paths.php y luego cambie
''public'' => __DIR__.''/../public'',
en''public'' => __DIR__.''/..'',
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.
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 this artículo.
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
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
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 :)
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.