我正在使用 Xdebug 来调试带有 guzzle curl 调用的代码。
在任何其他代码中,Xdebug 都可以正常工作。
但是每当有客户与Guzzle通话时,我得到的只是一个超时。
我正在使用:
- PhpStorm 2017.2
- Docker,带有图像
richarvey/nginx-php-fpm:latest
(nginx+php fpm) - Xdebug on php 7.1
这是代码片段,它冻结的位置:
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;
}
我遇到了同样的问题。我相信当两个不同的 php 进程尝试使用相同的 IDE 键同时打开 Xdebug 连接时,就会出现问题。(就像当你用PHP CLI运行一个测试,测试对你的Apache/nginx/php-FPM发出请求时)。我为 cli 和 fpm 分配了一个不同的 Xdebug IDE 键,它对我有用。