Php 拉维尔';s Response::json()不向HHVM下的客户端返回任何内容
我的HHVM运行在virtualbox虚拟机上,webroot映射到本地laravel安装,在内部IP上提供服务 在本地,我使用http://[localhost]:8000为站点提供服务 代码库是相同的 MembersController.php(资源控制器)的代码: 假设一切正常: 当我运行对LOCALHOST:http://[LOCALHOST]:8000/api/v1/member/1的GET请求时,客户机将正常返回JSON-一切正常 当我对HHVM(同一个客户端,相同的代码库)运行GET请求时:http://[vm\u ip\u address]/api/v1/member/1,客户端没有收到任何数据 数据通过HHVM内的调用传回,就像我将“return”更改为“echo”一样,在这两种情况下都会返回有效负载(也会返回头) HHVM似乎正在影响laravel的Response::json()函数,并禁止在客户端显示回复内容 还有谁见过这个吗 这不是我可以设置单元测试的东西,因为它总是通过的,因为最终回复中总是包含数据:/ 任何输入都将是伟大的-我有兴趣学习如何绕过这一点Php 拉维尔';s Response::json()不向HHVM下的客户端返回任何内容,php,laravel,hhvm,Php,Laravel,Hhvm,我的HHVM运行在virtualbox虚拟机上,webroot映射到本地laravel安装,在内部IP上提供服务 在本地,我使用http://[localhost]:8000为站点提供服务 代码库是相同的 MembersController.php(资源控制器)的代码: 假设一切正常: 当我运行对LOCALHOST:http://[LOCALHOST]:8000/api/v1/member/1的GET请求时,客户机将正常返回JSON-一切正常 当我对HHVM(同一个客户端,相同的代码库)运行GE
谢谢。遗憾的是,你可能不得不把手弄脏了。HHVM在如何执行此代码路径敏感的某些操作方面可能有非常细微的差异。我们通过了单元测试,但可能没有一个单元测试涵盖这种情况
如果可以的话,请将代码追溯到数据更改的地方。放入
echo
s和error\u log
s,直到您可以构建一个非常小的测试用例,然后打开,我们将修复它。谢谢Paul-我已经深入研究了Laravel核心,我想我可以看到它发生的地方-我今天将设置,以检查它是否可以在本地工作,但在HHVM上失败。为你的答复干杯!您使用的是哪种客户机?您是否验证了内容类型:application/json
请求和响应头?你在使用Nginx吗,Apache?您使用的是哪种Laravel版本?此外,我还建议将其用于API测试(如果您在Mac上)。
public function show($id)
{
$member = Member::findOrFail($id);
$data = array();
$data['id'] = $member->id;
$data['first_name'] = $member->first_name;
$data['last_name'] = $member->last_name;
return Response::json($data);
}