web-dev-qa-db-fra.com

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 tentatives précédentes 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, mais aucun de mes itinéraires ne semble fonctionner. (Ils fonctionnent parfaitement sur localhost). Tout jette un 404

50
Sainath Krishnan

Non, mais vous avez plusieurs options:

Le plus simple est de télécharger tous les fichiers que vous avez dans le répertoire dans lequel vous vous trouvez (c'est-à-dire le répertoire de base de l'utilisateur cPanel) et de placer le contenu de public dans public_html. De cette façon, votre structure de répertoire ressemblera à ceci (légèrement désordonné 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 également modifier bootstrap/paths.php pour qu'il pointe vers le bon répertoire public.

L'autre solution, si vous n'aimez pas avoir tous ces fichiers dans ce répertoire «racine», serait de les mettre dans leur propre répertoire (peut-être «laravel») qui est toujours dans le répertoire racine, puis de modifier les chemins pour qu'ils fonctionnent correctement. Vous devrez tout de même mettre le contenu de public dans public_html et modifier cette fois votre public_html/index.php pour amorcer correctement l'application. Votre structure de dossiers sera beaucoup plus ordonnée de cette façon (bien qu'il puisse y avoir quelques maux de tête avec des chemins dus à la modification de la structure conçue par le framework):

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

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

par exemple. Si votre domaine est pointé sur le répertoire public_html, alors tout le contenu doit être placé dans ce répertoire. Comment ? laisse moi te dire

  1. Copier tous les fichiers et dossiers (y compris les dossiers publics) au format HTML public
  2. Copier tout le contenu du dossier public et le coller dans la racine du document (c'est-à-dire public_html)
  3. Supprimer le dossier public
  4. Ouvrez votre fichier bootstrap/paths.php puis changez 'public' => __DIR__.'/../public', en 'public' => __DIR__.'/..',

  5. et enfin dans index.php,

    Changement  

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
Raj Sf

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

Hébergement de Laravel sur l'hébergement mutualisé # 1

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

Si vous voulez PHP 5.4 ajoutez cette ligne à votre fichier .htaccess ou appelez votre fournisseur d'hébergement.

AddType application/x-httpd-php54 .php

5
Abhinandan N.M.

Tous vos fichiers Laravel doivent se trouver au même endroit ..__Laravel expose son dossier public au serveur. Ce dossier représente une sorte de contrôleur frontal pour toute l’application. En fonction de la configuration de votre serveur, vous devez pointer votre chemin d'accès sur ce dossier. Comme je peux le voir, il y a www site sur votre photo. www est le répertoire racine par défaut des machines Unix/Linux. Il est préférable d’examiner la configuration de votre serveur et de rechercher l’emplacement du répertoire racine. Comme vous pouvez le constater, Laravel a déjà un fichier appelé .htaccess , avec quelques configurations Apache prêtes. 

1
carousel

Avait ce problème aussi et a découvert que le moyen le plus simple est de pointer votre domaine vers le dossier public et de tout laisser comme il est.

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

1
Overcomer

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

vous devriez donc éditer public/index.php et changer ces lignes pour pouvoir imprimer dans votre répertoire bootstrap

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

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

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

0
M.A. Heshmat Khah