标签: xdebug

Xdebug 问题:连接到客户端超时(等待:200 毫秒)。:-(

我在 Xdebug 日志中不断收到此错误:

连接到客户端超时(等待:200 毫秒)。:-(

PhpStorm 中的调试器根本无法工作。

$ php -v
PHP 7.3.21 (cli) (built: Aug  4 2020 11:21:19) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.21, Copyright (c) 1998-2018 Zend Technologies
    with Xdebug v2.9.6, Copyright (c) 2002-2020, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)

我的 PHP Ini:

[xdebug]
zend_extension=".../php_xdebug-2.9.6-7.3-vc15-x86_64.dll"
xdebug.profiler_append=0
xdebug.profiler_enable=1
xdebug.profiler_enable_trigger=0
xdebug.profiler_output_dir = ".../tmp"
xdebug.profiler_output_name = "xdebug_profile.%R::%u"
xdebug.remote_enable=On
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_mode=req
xdebug.remote_port=9001
xdebug.auto_trace=1
xdebug.collect_includes=1
xdebug.collect_params=1
xdebug.idekey=PHPSTORM
xdebug.remote_autostart=1
xdebug.remote_log=".../logs/xdebug.log"
;xdebug.remote_connect_back=1
Run Code Online (Sandbox Code Playgroud)

登出:

==> xdebug.log <==
[17080] …
Run Code Online (Sandbox Code Playgroud)

php xdebug phpstorm

2
推荐指数
1
解决办法
8517
查看次数

phpunit --path-coverage(分支覆盖)花费了 100 倍的时间

我有一个带有大量测试的 Laravel 项目。我使用 pcov 来计算代码覆盖率,大约需要 4 分钟。但 pcov 不支持分支覆盖,所以我决定使用 xdebug。

使用 xdebug 测试执行,使用代码覆盖率但不使用 --path-coverage(分支覆盖率)大约需要 8 分钟。

但是使用 xdebug、代码覆盖率和 --path-coverage(分支覆盖率)测试执行需要超过 2 个小时,甚至不能等到结束:

INFO[2021-09-14 21:33:24] Executing runtests with coverage xdebug
XDEBUG_MODE=coverage
php artisan test --parallel --processes=8 --verbose --passthru=--path-coverage tests/Feature --coverage-text

Warming cache for static analysis ... done [00:00.071]

............S................................................   61 / 1180 (  5%)
.............................................................  122 / 1180 ( 10%)
.............................................................  183 / 1180 ( 15%)
.............................................................  244 / 1180 ( 20%)
....... 

INFO[2021-09-15 00:00:05] finished in 2h 26m 40.458565176s   
Run Code Online (Sandbox Code Playgroud)

所以我的问题是 --path-coverage …

phpunit code-coverage xdebug

2
推荐指数
1
解决办法
1216
查看次数

安装和卸载 Xdebug 后修复 JIT

安装 Xdebug JIT 后不再工作:

PHP 警告:JIT 与覆盖 zend_execute_ex() 的第三方扩展不兼容。JIT 已禁用。在第 0 行未知

已经卸载了 Xdebug 并重新安装了 PHP,但我仍然收到错误。如何修复它?

apt-get remove --purge php-xdebug

apt-get install --reinstall php8.0-fpm php8.0-apcu php8.0-imap php8.0-curl php8.0-mysql php8.0-mbstring php8.0-bcmath php8.0-xml php8.0-redis php8.0-intl php8.0-soap php8.0-ssh2
Run Code Online (Sandbox Code Playgroud)

php jit xdebug

2
推荐指数
1
解决办法
3365
查看次数

PhpStorm Xdebug 过早退出方法

我正在使用 PhpStorm 版本 #PS-222.3345.135 的 Ubuntu 18.04 系统。我使用的是 PHP 7.4.20 和 Xdebug 2.9.8。

首先,当我没有在网络请求上运行 Xdebug 时,它们工作得很好。当我尝试使用 Xdebug 单步执行时,方法会过早退出,如下面的屏幕截图所示:

第一张截图:

拦截器::launch()

执行在该launch()方法的第一行。因此,按“Step Over”按钮应将执行带到第 112 行。($this->_state->setAreaCode($areaCode));相反,按“Step Over”会提前退出该launch()方法并将执行线程带回该Bootstrap::run()方法,如下所示:

按“跨步”后

请注意,局部范围内没有$response变量run(),因为该launch()方法由于过早退出而不允许返回值。再次按 Step Over 将导致抛出异常$response->sendResponse(),如下图所示:

抛出异常

总而言之,这里的问题是 Xdebug 没有正确单步执行代码。这个问题直到上周才开始出现,并且我的项目路径映射与之前相同。

多个 PhpStorm 项目都发生这种情况,而不仅仅是这一个代码库。不过,我确实有一个 PhpStorm 项目(代码库要小得多),其中单步执行代码工作正常(结果我将 PhpStorm 内存限制升级到 2GB,但没有解决任何问题)。

有谁知道为什么会发生这种情况?

php xdebug phpstorm

2
推荐指数
1
解决办法
315
查看次数

xdebug安装无法正常工作

所以我在php.ini中添加了以下行:

zend_extension="Z:\wamp2\bin\php\php5.3.0\ext\php_xdebug.dll"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
Run Code Online (Sandbox Code Playgroud)

xdebug确实位于该目录中,具有该文件名

我设置 report_zend_debug = 0

重新启动的wamp等

但xdebug仍然没有出现在phpinfo ....

apache错误日志显示以下内容:

PHP Warning:  PHP Startup: Unable to load dynamic library 'Z:/wamp2/bin/php/php5.3.0/ext/php_imagick_ts.dll' - The specified module could not be found.\r\n in Unknown on line 0
[Mon May 30 19:07:42 2011] [notice] Apache/2.2.11 (Win32) PHP/5.3.0 configured -- resuming normal operations
[Mon May 30 19:07:42 2011] [notice] Server built: Dec 10 2008 00:10:06
[Mon May 30 19:07:42 2011] [notice] Parent: Created child process 4260
Failed loading Z:\wamp2\bin\php\php5.3.0\ext\php_xdebug.dll
PHP Warning: …
Run Code Online (Sandbox Code Playgroud)

php apache installation wamp xdebug

1
推荐指数
1
解决办法
2万
查看次数

XDEBUG没有处理某些cakephp Netbean项目

如果我在netbeans中创建一个新项目并添加换行符,Xdebug完美无缺.但对于我有的cakephp项目,如果我添加换行符(即使在index.php文件中),xdebug也会忽略它.我想弄清楚最近发生了什么.

xdebug设置

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.auto_trace = 1
Run Code Online (Sandbox Code Playgroud)

我正在使用MAMP和Netbean作为我的工具.即使我使用xdebug_break()它仍然跳过.我确实有一个虚拟主机设置但不确定它是否与它有任何关系

php netbeans cakephp xdebug

1
推荐指数
1
解决办法
699
查看次数

Eclipse,XAMPP,xDebug - 等待XDebug会话 - 保持在57%

当我开始调试时,该过程保持在57%,并说"等待XDebug会话".

这是StackOverFlow上的重复帖子,但我尝试了所有答案,没有任何效果.

它工作正常,直到两天之前.我不知道出了什么问题.

xdebug eclipse-pdt

1
推荐指数
1
解决办法
6644
查看次数

xdebug,eclipse,centos,远程调试 - 无法在断点处停止

开发机器

  • mac笔记本电脑,10.8.3
  • eclipse,Juno SR2
  • php pdt 3.1.2.2012

远程机器

  • parallels,vm,CentOS 6.3
  • php 5.4.14
  • Xdebug的

/etc/php.ini文件

[xdebug]
zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host="10.211.55.3"
xdebug.remote_log=/tmp/xdebug_remote_log
xdebug.remote_connect_back=1
Run Code Online (Sandbox Code Playgroud)

PHP文件都存在于远程机器上并映射到eclipse中的项目(即我可以在我的开发机器上看到实际文件).

我有一个调试配置,可以在调试器中运行,但不能在任何断点处设置或停止.我甚至试过xdebug_break() - 似乎忽略了它.

我尝试在远程机器上打开端口9000,没有区别.

我尝试将这个'-Djava.net.preferIPv4Stack = true'添加到eclipse.ini文件(在另一篇文章中找到 - 与IPv6与IPv4有关),但是没有用.

eclipse中的项目属性:

  • PHP调试器:XDebug
  • 服务器:
    • 基本URL:h_t_t_p_://10.211.55.3
    • 路径映射:服务器上的路径:/ home/userxyz/workspace/test,Local Path:/ test

我不知道该尝试什么.任何帮助将不胜感激.

php eclipse debugging xdebug

1
推荐指数
1
解决办法
2323
查看次数

并行调试 - xdebug和phpstorm

我尝试做并行调试.我用frontend.php和backend.php文件使用PhpStorm调试教程(大约30分钟或更长时间):

frontend.php文件:

<?php

$personJson = file_get_contents('http://localhost:777/projects/debug-both/backend.php/backend.php');
$person = json_decode($personJson);

var_dump($person);
Run Code Online (Sandbox Code Playgroud)

backend.php文件:

<?php

class Person {
    public $name;
    public $email;
}

$person = new Person();

$person->name = 'Something';
$person->email = 'something@something.com';

echo json_encode($person);
Run Code Online (Sandbox Code Playgroud)

我使用零配置方法.当我在带有调试会话的浏览器中启动前端文件时,在PhpStorm调试会话正在启动但我无法排队:

file_get_contents('http://localhost:777/projects/debug-both/backend.php/backend.php');
Run Code Online (Sandbox Code Playgroud)

转到backend.php教程中的文件(视频中的31:36).

问题:如何使其正常工作?在这个视频中没有更多,似乎它应该立即工作,但事实并非如此.

我从phpinfo中包含了我的xdebug配置 来自phpinfo的xdebug配置 和PhpStorm中的xdebug配置 PhpStorm中的xdebug配置

php debugging remote-debugging xdebug phpstorm

1
推荐指数
1
解决办法
1195
查看次数

PhpStorm + Xdebug:建立连接,PhpStorm中没有调试窗口弹出

我正在努力让PhpStorm和Xdebug在特定的Vagrant VM上正常播放。

如何为该VM连接PhpStorm和Xdebug时有效地跟踪并解决问题?

虽然我可以看到PhpStorm和Xdebug进行了一定程度的通信,但Xdebug的连接并没有启动PhpStorm的调试窗口,并且无法使用PhpStorm的调试功能。

有问题的工具组合为:

  • 带有Ubuntu 16-04的Vagrant VM
  • PHP 7.1和php-xdebug 2.7
  • PhpStorm 2018.2.1
  • Firefox Xdebug帮助程序扩展
  • Drupal 8.6.10
  • 将断点插入index.php第16行。

我可以使这个Vagrant VM连接到Atom的php-debugXdebug集成。我还可以使PhpStorm连接到其他Vagrant实例的Xdebug!

来自相关服务器的Xdebug配置:

# xdebug.idekey = "PHPSTORM"
# xdebug.remote_connect_back = on
xdebug.remote_autostart = off
# xdebug.remote_connect_back = on
xdebug.remote_enable = on
xdebug.remote_handler=dbgp
xdebug.remote_host = 10.0.2.2 # IP of the host system
xdebug.remote_log="/tmp/xdebug.log"
xdebug.remote_mode=req
xdebug.remote_port=9000
Run Code Online (Sandbox Code Playgroud)

/tmp/xdebug.log使用此配置时,我在日志文件中看到输出。

  • 通过将Xdebug Helper设置为“禁用”,页面将在浏览器中加载。没有日志条目记录到/tmp/xdebug.log
  • 在PhpStorm设置为“停止侦听PHP调试连接”的情况下,页面将加载到浏览器中。没有日志条目记录到/tmp/xdebug.log
  • 将Xdebug Helper设置为“ Debug”并将PhpStorm设置为“开始侦听PHP调试连接”后,页面将暂停,就好像可以识别断点一样。但是,PhpStorm不会打开调试窗口,因此无法进行调试。以下记录到/tmp/xdebug.log
[8264] Log opened at 2019-03-14 01:39:02
[8264] I: Connecting to …
Run Code Online (Sandbox Code Playgroud)

xdebug phpstorm vagrant

1
推荐指数
1
解决办法
409
查看次数