我在 virtualbox VM 上运行 HHVM,将 webroot 映射到我的本地 laravel 安装,在内部 IP 上提供服务。
在本地,我在 http://[localhost]:8000 下为站点提供服务。
代码库是相同的。
MembersController.php(资源丰富的控制器)的代码:
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);
}
假设一切正常:
当我向 LOCALHOST 运行 GET 请求时:http://[localhost]:8000/api/v1/member/1,客户端正常返回 JSON - 一切都很好。
当我向 HHVM(相同的客户端,相同的代码库)运行 GET 请求时:http://[vm_ip_address]/api/v1/member/1,客户端没有收到任何数据。
数据正在通过 HHVM 中的调用传回,就像我将“return”更改为“echo”一样,在两种情况下都会返回有效负载(也包括标题)
看起来 HHVM 正在影响 laravel 的 Response::json() 函数,并且不允许在客户端显示回复内容。
有没有其他人看过这个?
这不是我可以设置单元测试的东西,因为它总是通过,因为最终回复中总是有数据:/
任何输入都会很棒 - 我有兴趣了解如何解决这个问题。
谢谢。