2016-03-23 14 views
0

Mein Laravel-Projekt funktioniert gut in localhost von artisan serve commend. Jetzt versuche ich es auf dem Webhost zu hosten. Ich lade mein Projekt unter public_html und kopieren Sie alle Dateien aus public Ordner ich auch bearbeiten app.php'debug' => env('APP_DEBUG', true), für den Fehler angezeigt.Laravel 5.2 interner Serverfehler

i bearbeiten index.php

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

aber es immer noch einen 500 Interner Serverfehler zurück geben.

Ich versuche auch, einen anderen Weg, mein Projekt in das Hauptverzeichnis außer public Ordner hochladen und public Ordner in public_html Verzeichnis laden. und i bearbeiten index.php als

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

ich nicht, was mit meinem Code falsch finden. Wie kann ich mein Laravel 5.2-Projekt in ein Webhosting implementieren?

+0

Was sagen Ihre Serverprotokolle? PHP, Apache, Laravel. –

Antwort

0

Nein Nein Nein. Sie müssen die zweite Option mit einigen Verbesserungen erreichen. Lass es mich dir erklären. Eine Laravel-Anwendung sieht so aus:

app/ 
config/ 
public/ 
public/index.php 
.env 
composer.json 
artisan 

Richtig? gut, jetzt die Struktur einer Web-Host wie folgt aussieht:

/home/user/ 
/home/user/public_html/ 

Aber die Struktur oben nicht unsere Bedürfnisse passt da ist public/ Ordner, statt public_html/ zugegriffen werden soll. Also .. Der erste Schritt ist das Projekt zu laden, kann sagen, wie diese:

/home/user/home/project/app/ 
/home/user/project/config/ 
/home/user/project/.env 
/home/user/project/composer.json 
/home/user/project/public/index.php 

Der nächste Schritt ist entscheiden, ob Sie Ihr Projekt als Hauptdomain will, oder als Sub-Domain.

  1. Wenn Projekt Ihres Laravel Willen als Hauptdomäne dient nur dem Apache-Konfigurationsdatei httpd.conf bearbeiten und legen Sie die folgenden Regeln:

    DocumentRoot "/ home/user/project/public" ...

  2. Wenn Sie möchten, dass Sie als Sub-Domain projizieren, sondern nur die Konfigurationsdatei des apache bearbeiten httpd.conf und einen virtuellen Server wie folgt hinzu:

    Listen 80 
    <VirtualHost *:80> 
        DocumentRoot "/home/user//project/public" 
        ServerName my-project.example.com 
    
        # Other directives here 
    </VirtualHost> 
    

    Mit dieser Direktive sagen Sie zu Apache Hey! when people visits my-project.example.com show them the content of my site under /home/user/site/public.

    WENN Sie cPanel verwenden, erstellen Sie einfach eine Sub-Domain und verweisen Sie auf /home/user/site/public

Das ist alles, Sie brauchen nicht jedes Projektdateien wie index.php zu hacken, dh eine schlechte Übung.

+0

Ich erstelle Subdomain dafür, indem ich cpanel benutze, aber es zeigt nicht auf etwas anderes als public_html /, führe mich bitte auf diese –

+0

@NeerajRathod, während du die Subdomain erstellst gibt es ein Textfeld wo du den Pfad für den Punkt setzen kannst es – manix

+0

ja es ist ein Textfeld mit "public_html /" geschrieben, ich hatte "public_html /" entfernt und schreibe die gewünschte Zeigeadresse, aber nach dem Erstellen von Subdomain, ich sehe Zeigeadresse wird nur mit "public_html /" fortgesetzt mit was ich in das Textfeld geschrieben habe –