使用guzzle-http发布请求失败并获得当前laravel应用程序的端口

时间:2017-08-07 12:46:12

标签: php laravel guzzle

这是我的代码

$client = new Client(); // GuzzleHttp\Client

$result = $client->post('http://localhost:8000/api/login', [
    'form_params' => [
        'email' => '100@hello.com',
        'password'=>'secret',
        'device_token'=>'SAM-12-890'
    ]
]);

echo $result->getStatusCode();

但作为回应,我在几秒钟后没有得到任何东西,我的laravel实例的端口被ubuntu机器中的另一个进程获得。

那么如何通过laravel中的guzzle发起内部帖子请求?我的网址是否格式错误?

1 个答案:

答案 0 :(得分:1)

我猜你是在使用PHP集成的Web服务器(php -S ...)在本地运行你的应用程序。然后,如果您在浏览器的HTTP查询中执行内部HTTP查询,则由于死锁而导致超时。这是因为PHP集成的Web服务器可以立即处理请求(意味着您的内部请求已排队并且只能执行主请求,但主请求正在等待内部请求完成)。

如果我没有问题,只需尝试在本地PHP-FPM上运行你的应用程序。