尽管启用了调试,但是应用程序提供了500个错误

时间:2016-05-03 11:53:14

标签: php 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();

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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

查看代码,我建议使用https://getcomposer.org/自动加载和管理您的库。使用扩展来管理Slim3肯定不那么重要了。

对于500er错误,我猜你的use是错误的。但是,查看服务器的错误日志应该会显示错误的位置。

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