GuzzleHttp客户端对象的速度很慢,不知道它在做什么

时间:2019-02-17 23:16:49

标签: php yii2 guzzle

我正在使用GuzzleHttp库从服务器端代码调用REST API。每当我从本地计算机运行它时,它就可以正常工作,并给出及时的响应。如果我在VPS托管的服务器上运行它,则需要花费一些时间(约30秒),但是它给出了正确的答案。我尝试调试花费了这么长时间,但是无法理解和调试代码中的这些行: 返回Promise \ promise_for($ handler($ request,$ options)); 它位于guzzlehttp \ guzzle \ src \ Client.php文件中(第277行)。

我对HTTP流程并不十分熟悉,因此我不知道是什么造成了差异。两种环境中的代码相同。我在本地计算机上使用WAMP,PHP版本为7.1.9。 VPS托管环境具有Windows Server 2016和7.2.14的php版本。如果我从VPS服务器的浏览器运行REST API,它也很快。

谁能告诉我那行代码后面发生了什么??

1 个答案:

答案 0 :(得分:1)

您的远程计算机未安装PHP curl扩展。 Guzzle会根据系统中安装的扩展来检测可用的处理程序,因此也许它使用的是速度较慢的处理程序之一,或者不能同时执行多个请求的处理程序。