【发布时间】:2017-10-06 13:22:33
【问题描述】:
我正在使用 Xdebug 调试带有 guzzle curl 调用的代码。
在任何其他代码中,Xdebug 都可以正常工作。
但是每当有客户使用 Guzzle 调用时,我得到的只是超时。
我正在使用:
- PhpStorm 2017.2
- Docker,带镜像
richarvey/nginx-php-fpm:latest(nginx+php fpm) - Php 7.1 上的 Xdebug
这里是代码 sn-p,它冻结的地方:
public function fetch(): string
{
$content = '';
$completePath = self::FETCH_PATH . $this->id;
$request = $this->httClient->get($completePath);
if ($request->getStatusCode() == 200) {
$content = $request->getBody()->getContents();
}
return $content;
}
【问题讨论】:
-
你在运行异步调用吗?
-
不,只是默认创建
$this->httClient = new Client(); -
这很奇怪。 xdebug 日志是否说明了相关内容? Relevant article regarding xdebug log with phpstorm in case it's not enabled
-
是您项目范围内的目标代码(服务于 http 请求),例如您的 API 提供者?如果是,则必须将最大外部连接数设置为 >1(我最多运行 16 个)。在首选项中转到
Languages&Frameworks:PHP:debug。 -
@YvesLeBorg 刚刚完成,没有任何改变。