Php Laravel在响应前继续打印4个空格

Php Laravel在响应前继续打印4个空格,php,laravel,response,Php,Laravel,Response,当我调用控制器时,输出为: 而不是: 我尝试grep并找到类似的内容:“请检查您的config/filesystems.php文件,我认为在php opening标记之前有一个选项卡(或4个空格)。您必须使用phpsform进行完整搜索,例如,搜索 \r<?php \n<?php [space]<?php \t<?php \rIt当然不必是4个连续的空格,后面有一个和四个空格。也可以是几个PHP块,每个块的前后不到四个空格…@CBroe,这我知道,但我不知道如何捕捉它如

当我调用控制器时,输出为:

而不是:


我尝试grep并找到类似的内容:
“请检查您的config/filesystems.php文件,我认为在php opening标记之前有一个选项卡(或4个空格)。

您必须使用phpsform进行完整搜索,例如,搜索

\r<?php \n<?php [space]<?php \t<?php

\rIt当然不必是4个连续的空格,后面有一个
和四个空格。也可以是几个PHP块,每个块的前后不到四个空格…@CBroe,这我知道,但我不知道如何捕捉它如果使用输出缓冲,只需在输出之前修剪缓冲区内容即可但是如果你真的想修复它,那么你需要找出这些空间是从哪里来的。(因为这里没有人可以访问你的完整代码,只有你可以这么做。)Laravel和大多数库不使用关闭PHP标记
?>
,您可以查找这些标记并删除它们或它们后面的空格。可能是输出文件保存为带BOM的UTF-8。t可能会导致类似问题。将其(以及其他所有文件)保存为不带BOM的UTF-8
{success:true}
ob_start();
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
$output = ob_get_clean();//$output will have the 4 spaces
$app = require_once __DIR__.'/../bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

ob_start();
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
$output = ob_get_clean();//$output will have the 4 spaces

$response->send();

$kernel->terminate($request, $response);
\r<?php \n<?php [space]<?php \t<?php