首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >默认配置,如outputBuffering,displayErrorDetails在超薄3php框架中不起作用

默认配置,如outputBuffering,displayErrorDetails在超薄3php框架中不起作用
EN

Stack Overflow用户
提问于 2017-04-28 19:15:25
回答 1查看 326关注 0票数 1

我正在使用slim版本3.8,我想禁用outputBuffering并显示所有错误:以下是我的简单Hello World程序。

代码语言:javascript
复制
require_once(dir.'/vendor/autoload.php');

$configuration = [
    'settings' => [
        'displayErrorDetails' => true,
        'outputBuffering' => false,
    ],
];

$app = new \Slim\App($configuration);

// Add route callbacks
$app->get('/', function ($request, $response, $args) {
    echo "here";
    return $response->withStatus(200)->write('Hello World!');
});

// Run application
$app->run();

如果我注释掉echo“here”,那么它工作得很好。但是这段代码抛出了exception - 500内部错误,说“输出缓冲区中有意外的数据。可能在开始之前有字符”。有人能告诉我这里出了什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2017-05-04 14:17:00

它的运行情况与预期相符。您需要在$configuration中将addContentLengthHeader => false添加到您的settings密钥。

outputBuffering设置为false意味着响应对象不知道您回显的任何数据。因此,当自动添加content-length报头时,它会注意到不匹配,并且您会得到“output buffer中的意外数据”错误。因此,您需要禁用自动设置内容类型头部。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43678898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档