it-swarm.com.de

Laravel 5 - env ​​local debug true keine Fehler angezeigt

Ich versuche, das Debugging für meine App zu aktivieren, aber ich habe kein Feedback.

Die Umgebung ist auf local gesetzt (in der .env-Datei) und bei der Ausführung

php artisan env

Ich verstehe das

Current application environment: local

Die Debug-Konfiguration für meine lokale Umgebung ist auf true gesetzt.

return [

    'debug' => true,

Auch wenn ich in meiner Hauptkonfigurationsdatei (app.php im Konfigurationsordner) den debug = true eingestellt habe, habe ich immer noch die Rückmeldung, dass ein Fehler im Code vorliegt.

Ich habe nur eine leere Seite, wenn der Code fehlerhaft ist (wie bei debug = false)

Was vermisse ich?

27
peppeocchi

Ich habe das Problem mit chmod -R 777 storage/ auf meinem Host-Computer (Mac OS X) umgangen. Auf meinem Gastcomputer (Ubuntu 14.04) hat chmod -R 777 storage/ die Berechtigungen tatsächlich nicht geändert.

77

php artisan optimize und wenn es immer noch nicht funktioniert, löschen Sie die Datei storage/meta/compiled.php wie in einem Forenthema auf Laracasts erwähnt

Ich hatte das gleiche Problem und der Befehl artisan hat den Trick ausgeführt.

AKTUALISIEREN

Ich habe herausgefunden, dass ein guter Weg zur Problemumgehung des Speicherordners darin besteht, www-data als Eigentümer festzulegen. Ich benutze zwei Befehle:

Sudo chown $(whoami):www-data . -R

und

Sudo chown www-data: storage -R

From Laravel 5.1 kann es erforderlich sein, diesen letzten Befehl auch im Bootstrap-Ordner auszuführen.

12
phaberest

Ich hatte eine Situation, in der ich genau das gleiche Symptom hatte. Einige Routen gaben kein Feedback, nur eine weiße Seite, kein Fehler im Protokoll, überhaupt keine Informationen.

Es stellte sich heraus, dass ich eine neue Middleware hinzugefügt habe und ich vergessen habe, $next($request) von meiner Griffmethode zurückzukehren. Dies war noch frustrierender, da diese Middleware nicht für jede Route gültig war. Ich ging also davon aus, dass ein zeitweiliger Fehler aufgetreten ist, der jedoch nicht auf diesen Routen angezeigt wurde.

3
Blair

Wie Blair sagte, könnte sich herausstellen, dass Sie einen falschen Code in die Middleware oder in 'Exceptions/Handler.php' eingegeben haben, z. :

if($e->getStatusCode()===404) { ... }

anstatt von

if($e instanceof NotFoundHttpException) { ... }

3
Vishnja

Der Vollständigkeit halber hatte ich dieses Problem, als der Fehler in Methoden auftrat, die Model::findOrFail($someId) verwendeten. Durch Ersetzen durch Model::find($someId) wurde das Fehlerprotokoll angezeigt.

1
dbertels

Auch unter Windows müssen Sie Folgendes tun: chmod -R 777 storage/Sie können es mit Git Bash ausführen;

1
Svet

Wenn Sie Lumen soeben installiert haben, stellen Sie sicher, dass Sie .env.example in .env in Ihrem Hauptanwendungsverzeichnis umbenannt haben, da dies nicht funktioniert, wenn Ihre Konfigurationsdatei noch den Namen Umgebungsdatei trägt und noch .env.example heißt.

0
XanT

Wenn die obigen Antworten nicht für Sie geeignet waren, sollten Sie die Konfigurationsdateien überprüfen, die Sie möglicherweise geändert haben, und von dort aus mit dem Debuggen beginnen. 

In meinem Fall funktionierten die oben genannten Lösungen nicht für mich, da die Ursache für mein Problem darin bestand, die Zeitzone in der Datei config/app.php zu ändern (von laravel default UTC habe ich sie in EST5EDT geändert). Aus irgendeinem Grund verhindert die Änderung der Zeitzoneneinstellung, dass laravel die Fehler im Speicherordner protokolliert, und es wird ein leerer Bildschirm angezeigt (keine Fehlermeldung!). Ich habe stattdessen die Zeitzone in America/New_York geändert und die Fehlerprotokolle funktionieren wieder.

Hoffe das hilft.

0
camille

Ich habe das Problem tatsächlich gelöst, indem ich die Zeile mit unkommentieren 
Dotenv::load(__DIR__.'/../'); in bootstrap/app.php.

Damit es es tatsächlich lädt, bevor es kompiliert und zwischengespeichert wird, 
gut läuft php artisan optimize tut es für dich, wenn du Laravel hast (nicht Lumen)

Wenn Sie sich jedoch die Dokumentation ansehen, wird diese standardmäßig auskommentiert. Ich denke, sie haben sie inzwischen behoben. Http://Lumen.laravel.com/docs/installation .

0
Fahad

Ich habe dasselbe Problem konfrontiert, also habe ich die Datei handler.php des Ausnahmenordners überprüft, in dem die Renderfunktion, die die Rückgabewertzeile hat, kommentiert ist, so dass die Seite leer bleibt.

public function render($request, Exception $exception)
{        
    //return parent::render($request, $exception);
}
0
Bhavin Thummar

Gehe zuconfig/app.phpund wenn es so ist: 

'debug' => env ('APP_DEBUG', false),

Dann wechseln Sie zu: 

'debug' => env ('APP_DEBUG', true),

diese.

0
Olpha Zarrouk

Für mich funktionierte das Deaktivieren von hhvm in der Datei Homestead.yaml perfekt. Dann habe ich vagrant reload --provision und das war es!

0
Octavio Herrera