Téléchargement du projet Laravel sur le serveur Web

j'essaie de télécharger mon projet Laravel sur mon serveur web, mais mes deux dernières tentatives ont été infructueuses. Je crois que je ne télécharge pas les fichiers au bon endroit.

Ceci est la structure de mon serveur web ->WebServer Structure

ai-je raison de dire que je dois télécharger tous mes fichiers laravel dans public_html?

voici le répertoire de mon projet Laravel:

Laravel Project Directory

EDIT: j'ai maintenant ajouté tous les fichiers dans le dossier racine, et public dans public_html, cependant aucune de mes routes ne semble fonctionner. (Ils fonctionnent parfaitement sur localhost). Tout lance un 404

47
demandé sur Sainath Krishnan 2014-02-27 21:00:01

6 réponses

Non, mais vous avez deux options:

le plus facile est de télécharger tous les fichiers que vous avez dans ce répertoire (c.-à-d. le répertoire home de l'utilisateur cPanel), et de mettre le contenu de public dans public_html. De cette façon votre structure de répertoire sera quelque chose comme ceci (légèrement embrouillé mais cela fonctionne):

/
    .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

vous devrez peut-être aussi éditer bootstrap/paths.php pour pointer vers le bon répertoire public.

L'autre solution, si vous n'aimez pas avoir tous ces les fichiers dans ce répertoire' root 'seraient de les mettre dans leur propre répertoire (peut-être' laravel') qui est toujours dans le répertoire root et ensuite éditer les chemins pour fonctionner correctement. Vous aurez toujours besoin de mettre le contenu de publicpublic_html, cependant, et cette fois éditez votre public_html/index.php pour démarrer correctement l'application. Votre structure de chemise sera beaucoup plus rangé de cette façon (bien qu'il puisse y avoir quelques maux de tête avec des chemins en raison de toucher à la structure conçue du cadre plus):

/
    .composer/
    .cpanel/
    ...
    etc/
    laravel/      <- a directory containing all your project files except public
        app/
        bootstrap/
        vendor/
        artisan
    mail/
    public_html/  <- your laravel public directory
40
répondu alexrussell 2014-02-28 09:20:20

je crois que vos fichiers/dossiers Laravel ne doivent pas être placés dans le répertoire racine.

par exemple, Si votre domaine est pointé public_html répertoire alors tout le contenu doit être placé dans ce répertoire. Comment ? permettez-moi de vous dire

  1. copier tous les fichiers et dossiers ( y compris le dossier public ) en html public
  2. copier tout le contenu du dossier public et le coller dans la racine du document (i.e. public_html )
  3. supprimer le public dossier
  4. ouvrez votre bootstrap / chemins.php et puis changé 'public' => __DIR__.'/../public', en 'public' => __DIR__.'/..',

  5. et enfin dans index.php,

    Modifier

require __DIR__.'/../bootstrap/autoload.php';

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

en

require __DIR__.'/bootstrap/autoload.php';

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

votre application Laravel devrait fonctionner maintenant.

7
répondu Raj Sf 2014-05-29 06:43:10

Si vous essayez d'héberger votre application Laravel sur un hébergement mutualisé, cela peut vous aider.

hébergement Laravel sur l'hébergement partagé #1

hébergement Laravel sur l'hébergement partagé #2

si vous voulez PHP 5.4 ajouter cette ligne à votre .htaccess enregistrez ou appelez votre hébergeur.

AddType application/x-httpd-php54 .php

5
répondu Abhinandan N.M. 2014-02-27 18:24:32

tous vos fichiers Laravel doivent être à un seul endroit. Laravel est en train d'exposer son public du dossier au serveur. Ce dossier représente une sorte de contrôleur frontal pour l'ensemble de l'application. Selon votre configuration de serveur, vous devez pointer votre chemin de serveur vers ce dossier. Comme je peux le voir il y a www site sur votre image. www est le répertoire racine par défaut sur les machines Unix/Linux. Il est préférable de jeter un coup d'oeil à l'intérieur de la configuration du serveur et de la recherche pour l'emplacement du répertoire racine. Comme vous pouvez le voir, Laravel a déjà appelé le fichier .htaccess, avec une configuration Apache prête.

1
répondu carousel 2014-02-27 17:09:24

avait ce problème aussi et a découvert que la meilleure façon est de pointer votre domaine vers le dossier public et de laisser tout le reste comme ils sont.

VEUILLEZ VOUS ASSURER D'UTILISER LA BONNE VERSION DE PHP. Epargnez-vous un peu de stress :)

1
répondu Overcomer 2016-03-17 05:09:33

À Laravel 5.x il n'y a pas de paths.php

alors vous devriez éditer public/index.php et changez ces lignes afin de pisser à votre bootstrap répertoire:

require __DIR__.’/../bootstrap/autoload.php’;

$app = require_once __DIR__.’/../bootstrap/app.php’;

pour plus d'informations, vous pouvez lire l'article.

1
répondu M.A. Heshmat Khah 2017-10-20 08:12:16