it-swarm.com.de

Laravel-Projekt in den Webserver hochladen

Ich versuche, mein Laravel-Projekt auf meinen Webserver hochzuladen, aber meine letzten zwei Versuche waren nicht erfolgreich. Ich glaube, ich lade die Dateien nicht an den richtigen Ort hoch.

Dies ist die Struktur meines Webservers -> WebServer Structure

Kann ich sagen, dass ich ALLE meiner Laravel-Dateien in public_html hochladen muss?

Dies ist das Verzeichnis meines Laravel-Projekts:

Laravel Project Directory

BEARBEITEN: Ich habe jetzt alle Dateien im root-Ordner und public in public_html hinzugefügt, jedoch scheint keine meiner Routen zu funktionieren. (Sie funktionieren perfekt auf localhost). Alles wirft eine 404

50

Nein, aber Sie haben mehrere Möglichkeiten:

Am einfachsten ist es, alle Dateien, die Sie haben, in das Verzeichnis hochzuladen, in dem Sie sich befinden (d. H. Das Ausgangsverzeichnis des cPanel-Benutzers), und den Inhalt von public in public_html abzulegen. Auf diese Weise wird Ihre Verzeichnisstruktur ungefähr so ​​aussehen (etwas chaotisch, aber es funktioniert):

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

Möglicherweise müssen Sie auch bootstrap/paths.php bearbeiten, um auf das richtige öffentliche Verzeichnis zu verweisen.

Die andere Lösung, wenn Sie nicht alle diese Dateien in diesem 'root'-Verzeichnis haben möchten, wäre, sie in ein eigenes Verzeichnis (vielleicht' laravel ') zu legen, das sich noch im root-Verzeichnis befindet, und dann die Pfade so zu bearbeiten, dass sie ordnungsgemäß funktionieren. Sie müssen jedoch weiterhin den Inhalt von public in public_html eingeben und dieses Mal Ihren public_html/index.php bearbeiten, um die Anwendung korrekt zu booten. Ihre Ordnerstruktur wird auf diese Weise viel aufgeräumter sein (obwohl es einige Probleme mit Pfaden geben kann, wenn Sie mit der vom Framework entworfenen Struktur mehr durcheinander kommen):

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

Ich glaube, Ihre Laravel-Dateien/Ordner sollten nicht im Stammverzeichnis abgelegt werden. 

z.B. Wenn Ihre Domain auf das Verzeichnis public_html verweist, sollten sich alle Inhalte in diesem Verzeichnis befinden. Wie ? Lass mich dir sagen

  1. Kopieren Sie alle Dateien und Ordner (einschließlich des öffentlichen Ordners) in der öffentlichen HTML-Datei
  2. Kopieren Sie den gesamten Inhalt des öffentlichen Ordners und fügen Sie ihn in das Dokumentstammverzeichnis ein (d. H. Public_html).
  3. Entfernen Sie den öffentlichen Ordner
  4. Öffnen Sie Ihr Bootstrap/paths.php und ändern Sie 'public' => __DIR__.'/../public', in 'public' => __DIR__.'/..',.

  5. und schließlich in index.php,

    Veränderung  

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

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

in  

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

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

Ihre Laravel-Anwendung sollte jetzt funktionieren.

7
Raj Sf

Wenn Sie versuchen, Ihre Laravel-App auf einem gemeinsam genutzten Hosting zu hosten, kann dies Ihnen helfen.

Hosting Laravel auf Shared Hosting # 1

Hosting Laravel auf Shared Hosting # 2

Wenn Sie möchten, dass PHP 5.4 diese Zeile zu Ihrer .htaccess-Datei hinzufügt, oder rufen Sie Ihren Hosting-Provider an.

AddType application/x-httpd-php54 .php

5
Abhinandan N.M.

Alle Ihre Laravel-Dateien sollten sich an einem Ort befinden .. _. Laravel macht seinen public - Ordner auf dem Server verfügbar. Dieser Ordner repräsentiert eine Art Front-Controller für die gesamte Anwendung. Abhängig von Ihrer Serverkonfiguration müssen Sie Ihren Serverpfad auf diesen Ordner verweisen. Wie ich sehen kann, ist www site auf Ihrem Bild. www ist das Standardstammverzeichnis auf Unix/Linux-Computern. Am besten werfen Sie einen Blick in Ihre Serverkonfiguration und suchen nach dem Speicherort des Stammverzeichnisses. Wie Sie sehen können, hat Laravel bereits die Datei .htaccess mit der fertigen Apache-Konfiguration. 

1
carousel

Hatte auch dieses Problem und stellte fest, dass der einfachste Weg ist, Ihre Domain auf den öffentlichen Ordner zu verweisen und alles andere so zu lassen, wie sie sind.

BITTE GEBEN SIE SICHER, DIE RICHTIGE VERSION VON PHP ZU BENUTZEN. Sparen Sie sich etwas Stress :)

1
Overcomer

In Laravel 5.x gibt es keinen paths.php

sie sollten also public/index.php bearbeiten und diese Zeilen ändern, um sie in Ihr bootstrap-Verzeichnis zu kopieren: 

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

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

für weitere Informationen können Sie diesen Artikel lesen.

0