php - GuzzleHttp 客户端对象的速度很慢,不知道它在做什么
问题描述
我正在使用 GuzzleHttp 库从服务器端代码调用 REST API。每当我从本地机器上运行它时,它都可以正常工作,并给出及时的响应。如果我在 VPS 托管服务器上运行它,它需要一段时间(大约 30 秒),但它给出了正确的答案。我试图调试它需要这么长时间,但无法理解和调试代码中的这些行:return Promise\promise_for($handler($request, $options)); 它在 guzzlehttp\guzzle\src\Client.php 文件中(第 277 行。)
我对 HTTP 进程并不熟悉,我不知道有什么不同。两种环境中的代码都是相同的。我在本地机器上使用 php 版本 7.1.9 的 WAMP。VPS 托管环境有 Windows Server 2016 和 7.2.14 的 php 版本。如果我从我的 VPS 服务器的浏览器运行 REST API,它也很快。
谁能告诉我那行代码背后发生了什么???
解决方案
您的远程机器没有安装 PHP curl 扩展。Guzzle 根据系统中安装的扩展程序检测可用的处理程序,因此它可能正在使用较慢的处理程序之一,或者不能同时执行多个请求的处理程序。
推荐阅读
- algorithm - 这段代码的时间复杂度是多少?(log3n)
- html - VBA 方法 htmlDoc.getElementBy* 返回 Nothing
- python - 在 .txt python 中计算一些平均值
- mysql - Debezium:初始快照需要多长时间?
- python - 如何在 python 中获取 armstrong 程序的输出?
- python - beautifulsoup:格式化和转换问题
- php - 制作 Laravel 包。但是“找不到类”
- spark-ar-studio - 如何在 Spark AR 中指定 2D 对象(如矩形)的初始位置?
- excel - 仅计算当月的工作时间
- android - 再次:类'X'不是抽象的,不实现抽象成员公共抽象乐趣writeToParcel