瘦应用程序给出500错误,尽管启用调试


Slim application giving 500 error despite of enable debugging

我正在slim框架中进行开发和应用。我已经将调试启用为true,但只要出现错误。它使应用程序进入http 500内部错误发生状态,但没有显示错误实际发生的位置和原因。我如何查看错误原因?

这是我的代码:

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();

有什么建议吗?

在slim中启用调试时不会显示致命的解析错误。该配置只是为异常启用一个错误处理程序。因此,如果您的某个库抛出异常,slim会以可供web阅读的方式呈现它们。在要禁用调试的生产系统上,对异常进行堆栈跟踪可能会发现潜在的安全漏洞。

查看您的代码,我建议使用https://getcomposer.org/用于自动加载和管理库。当然,管理Slim3及其扩展程序的工作量较小。

对于500er错误,我想您的use是错误的。但是,查看服务器的错误日志应该会发现错误的位置。

在命令行中,您可以尝试php -l filename.php来查找简单的解析错误。