1

我在 php 中有一个脚本,它使用 Guzzle 6 向这样的 API 发出很长的 GET 请求:

$client = new Client(['base_uri' => $this->app_config["domains"][$this->service_name]);
$response = $client->request('GET', $uri);
return \GuzzleHttp\json_decode($response->getBody(), true);

我想当请愿达到大约 120 秒时,问题就来了。错误说:

Error creating resource: [message] fopen(.......): failed to open stream: HTTP request failed! 
[file] /vagrant/Orchestrator/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
[line] 312

我在 php 5.6 和 php.ini 配置为 max_execution_time = 0 的 vagrant box 中启动此脚本。

事实是,在我的本地机器上,它具有相同的 php.ini 和 php 版本。

4

1 回答 1

0

您似乎无法从您的 Vagrant 盒子连接到主机。120 秒是默认超时(检查default_socket_timeoutPHP 设置中的值)。

因此,请从 Vagrant 框中检查与外部世界的连接。

于 2016-08-30T13:03:19.103 回答