2016-05-03 2 views
0

Ich bin Entwickler und Anwendung in schlanken Rahmen. Ich habe das Debuggen auf "True" gesetzt, aber immer wenn ein Fehler auftritt. Es bringt die Anwendung in den http 500 internen Fehlerzustand, zeigt aber nicht an, wo der Fehler tatsächlich aufgetreten ist und was ihn verursacht hat. Wie kann ich die Fehlerursache sehen?Schlanke Anwendung mit 500 Fehler trotz Enable Debugging

Hier ist mein Code:

require 'lib/vendor/PHPMailer/PHPMailerAutoload.php'; 
require 'lib/init.php'; 
require 'lib/Slim/Slim.php'; 

date_default_timezone_set('UTC'); 

use lib\Slim\Middleware\SessionCookie; 

\Slim\Slim::registerAutoloader(); 
$app = new \Slim\Slim([ 
    // cookie encryption (strongly recommend) 
     'log.level' => \Slim\Log::DEBUG, 
    'cookies.encrypt' => true, 
    'cookies.secret_key' => 'put your secret key', 
    // session config 
    'sessions.driver' => 'database', // or database 
    //'sessions.files' => __DIR__ . '/../sessions', // require mkdir 
    'sessions.table' => 'sessions', // require create table# 
     'debug' => true, 
]); 


$app->run(); 

Irgendwelche Vorschläge?

+0

Vergewissern Sie sich, dass Sie Ihre Entwicklungsumgebung so konfiguriert haben, dass alle Fehlermeldungen angezeigt werden. Wenn PHP-Code nicht ausgeführt werden kann, können Sie sich nicht darauf verlassen, dass Slim es Ihnen meldet. –

+1

Überprüfen Sie Ihre Web-Server-Protokolldateien. Ich habe das Gefühl, dass es da drinnen sein wird ... Ich nehme an, es hat etwas damit zu tun, dass Sie Session-Cookie-Zeile verwenden. – geggleto

+0

sollten Sie den Autoloader nicht registrieren ** bevor ** Sie etwas aus dem Slim-Framework verwenden? – Pevara

Antwort

0

Fatale Parsing-Fehler werden beim Aktivieren des Debugging in slim nicht angezeigt. Die Konfiguration ermöglicht nur einen Fehlerhandler für Ausnahmen. Wenn also eine Ihrer Bibliotheken eine Ausnahme auslöst, werden sie für das Web lesbar dargestellt. Auf Produktionssystemen möchten Sie das Debugging deaktivieren, da ein Stack-Trace für die Exception potenzielle Sicherheitslecks aufdecken kann.

In Ihrem Code würde ich empfehlen, https://getcomposer.org/ zum automatischen Laden und Verwalten Ihrer Bibliotheken zu verwenden. Es ist sicherlich weniger Arbeit für die Verwaltung von Slim3 mit seinen Erweiterungen.

Für die 500er Fehler, ich denke, Ihre use ist falsch. Aber ein Blick in die Fehlerprotokolle Ihres Servers sollte den Ort des Fehlers aufdecken.

In der Befehlszeile können Sie php -l filename.php versuchen, einfache Analysefehler zu finden.