标签: xdebug

将XDebug与Eclipse PDT和XAMPP一起使用

我无法将PHP脚本调试为脚本.它始终在启动后立即终止.我在php.ini中设置了一个Xdebug日志,但它完全没有用.Xdebug 确实显示在我的phpinfo()上,所以我知道它在Apache中加载.

我也可以将代码调试为一个网页(它不提供变量信息,但不会在断点上停止),所以我知道Eclipse有适当的服务器设置.两个调试选项都使用相同的PHP exe(使用XAMPP安装的那个,使用vc6编译器编译的php 5.3.1).我确保Xdebug的编译符合这些设置.

在一个可能相关的说明:我注意到我只能使用zend_extension命令加载Xdebug,而不是zend_extension_ts,即使我的PHP版本确实是线程安全的?我不得不承认我有点困惑.

我也非常肯定无论我在Eclipse中选择"XDebug",我都做到了.我已经按照两个教程在这里无济于事.有人有主意吗?我已经尝试了与我的XAMPP(2.0.6-dev)捆绑在一起的Xdebug版本,我还下载了一个新的.dll版本2.1.

谢谢!

eclipse xampp xdebug

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

XDebug 未在窗口上的 Sublime Text 2 中显示堆栈和跟踪

我安装了 Sublime Text 2 XDebug 插件,但无论我做什么,堆栈和跟踪窗格都是空的。按 shift+f8 后菜单工作。“添加断点”也有效。但是,每当我选择开始调试时,我都会使用标准调试信息定向到我的浏览器,但在 Sublime Text 的窗格中没有任何显示。

我在 Win7 x64 WAMP Server 2.2 上:PHP 5.4.3 + Apache 2.4.2

我通过 phpinfo() 和 xdebug_is_enabled() 检查,xdebug 已安装并正在运行。

我当前的配置(bin/apache/[apache...]/bin/php.ini,当然:

zend_extension = "[wamp 路径]/bin/php/php5.4.3/ext/php_xdebug-2.2.0-5.4-vc9-

x86_64.dll"

[xdebug]
xdebug.remote_enable = 1

xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.remote_autostart = On

;Trace settings
xdebug.auto_trace = On

xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "[wamp path]/wamp/tmp"
Run Code Online (Sandbox Code Playgroud)

请注意扩展的路径是正确的。扩展名本身也如上。我检查了这个页面的链接,但仍然没有。

对此的任何帮助将不胜感激。谢谢!

xdebug wampserver sublimetext2

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

构建XDebug以供MAMP使用?

我在Mac OSX Mavericks上使用MAMP.我想安装最新的XDebug,v2.2.4.根据XDebug向导,我下载了XDebug 2.2.4源代码.我的系统上安装了许多版本的phpize - 一个位于/ usr/bin /中,还有许多其他版本的MAMP.MAMP为它包含的每个PHP版本提供所需的phpize.

寻求使用正确的phpize,根据XDebug向导说明 - http://xdebug.org/docs/faq#custom-phpize - 我通过以下方式运行php.5 for PHP 5.5.3:

 /Applications/MAMP/bin/php/php5.5.3/bin/phpize
Run Code Online (Sandbox Code Playgroud)

..得到了这个输出:

grep: /Applications/MAMP/bin/php/php5.5.3/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.5.3/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.5.3/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No: 
Run Code Online (Sandbox Code Playgroud)

万一这不是一个错误(因为它似乎我遵循XDebug向导),然后我运行configure via:

./configure --with-php-config=/Applications/MAMP/bin/php/php5.5.3/bin/php-config 
Run Code Online (Sandbox Code Playgroud)

......我跑了:

make
Run Code Online (Sandbox Code Playgroud)

...但得到了这个错误:

fatal error: 'php.h' file not found
Run Code Online (Sandbox Code Playgroud)

在OSX上构建XDebug以供MAMP使用的正确方法是什么?

非常感谢所有人的想法或信息.

mamp makefile xdebug

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

使用 XDebug + PHPStorm 进行调试迫使我总是介入

我正在尝试调试我的Codeception测试。

当从浏览器使用正确的IDE-KEY作为 cookie时,我使用PHPStorm + XDebug 的调试平台运行良好。

但是,在尝试使用CLI调试 codecept 时,我遇到了以下问题:

  • 如果我在 Cest 类中放置断点,则行为是正常的。我可以跳过函数并单击“恢复”以停止调试。
  • 但是每当我在我的代码(IE 控制器或我的命名空间类)中放置一个断点时,xdebug 就会变得不可用:

如果我尝试ResumeStep OutStep Over,xdebug 会忽略我的请求并始终步入当前行。

这让我的测试真的很难继续。

我尝试过使用两个平台:我常用的 vagrant + nginx + php5-fpm(带远程调试)和 wamp(本地调试)。

任何帮助,将不胜感激!

——

更新: 嗯,这与 Codeception 无关。我尝试仅使用PHPUnit进行测试,结果也是如此。CLI 似乎也不是问题,因为我尝试从浏览器调试 PHPUnit,但没有成功。

我想可能是 PHPStorm 错误,但查看 xdebug 日志,我看到调用了正确的方法:

<- step_over -i 41
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_over" transaction_id="41" status="break" reason="ok">
Run Code Online (Sandbox Code Playgroud)

step_over 被调用,而不是 step_into。那么也许是 xdebug 的错误?

奇怪的是,这并不总是发生。更改配置后,有时不会发生,但是错误似乎又回来了......

debugging xdebug phpstorm codeception

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

在 Mac OSX El Capitan 上使用 phpstorm 启用 xdebug

在将我的 macbook 升级到 El Capitan 之前,我对 Phpstorm 9、php 5.6(通过自制软件)、xdebug(通过自制软件)进行了很好的设置。

然而,在过去一个月左右的时间里,我一直在绞尽脑汁,试图弄清楚如何使该设置再次起作用。

我很感激你们可能有的任何想法。

谢谢,艾尔

PS这是我的设置:

xdebug 版本和 ide 密钥 xdebug 版本和 ide 密钥

xdebug 远程设置 xdebug 远程设置

xdebug 会话 cookie xdebug 会话 cookie

phpstorm中的xdebug端口 phpstorm中的xdebug端口

phpstorm中的PHP配置 phpstorm中的PHP配置

在 phpstorm 中调试验证 在 phpstorm 中调试验证

调试日志

Log opened at 2015-11-19 22:33:49
I: Checking remote connect back address.
I: Remote address found, connecting to 127.0.0.1:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///Users/eyalsh/Sites/test/index.php" language="PHP" protocol_version="1.0" appid="73266" idekey="PHPSTORM"><engine version="2.3.3"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2015 by Derick Rethans]]></copyright></init>

-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

Log closed at 2015-11-19 22:33:49
Run Code Online (Sandbox Code Playgroud)

macos xdebug phpstorm

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

变量未显示在 VSCode/Xdebug PHP 中

我正在尝试使用 VSCode(VSCcode 版本 1.9.1)配置 xdebug。

配置文件

[Xdebug]
zend_extension = D:\php\ext\php_xdebug.dll
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_log = D:\site\xlog.txt
Run Code Online (Sandbox Code Playgroud)

我默认的PHP端口是3000,($_SERVER['SERVER_PORT'] = 3000 其实我可以运行phpinfo()localhost:3000 和Xdebug端口设置为xdebug.remote_port = 9000

X调试日志:

Log opened at 2017-02-17 20:50:56
I: Connecting to configured address/port: localhost:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///D:/site/index.php" language="PHP" xdebug:language_version="7.1.0-dev" protocol_version="1.0" appid="11384" idekey="Admin"><engine version="2.5.0"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2016 by Derick Rethans]]></copyright></init>

<- breakpoint_list -i 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_list" transaction_id="1"></response>

<- breakpoint_list …
Run Code Online (Sandbox Code Playgroud)

php xdebug visual-studio-code

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

如何配置 PhpStorm 远程 Xdebug 路径映射

我有运行我的应用程序的设置和 docker 机器。在这个 docker 机器中,xdebug 是通过这些 xdebug.ini 设置启用的。

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
xdebug.remote_enable=on
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_host=10.5.0.1
Run Code Online (Sandbox Code Playgroud)

我的本地机器 IP 是 10.5.0.1

当我尝试在命令行上运行我的应用程序时,它会连接回 PhpStorm 调试器。但是由于没有路径映射,它停在脚本的第一行,断点不起作用。断点光标不可见,我无法F8按键跟踪代码。

此外,它必须显示某种路径映射错误 Debugger->Variables 窗口,但它不显示任何错误。

如何解决这个问题?

php xdebug phpstorm

2
推荐指数
3
解决办法
8817
查看次数

PhpStorm - 无法接受外部 Xdebug 连接

我在使用 Codeception 在 PhpStorm 中为我的应用程序运行测试时出错。我的代码正在通过 Vagrant 运行。

在我的用于 Codeception 测试的index.php的第一行是:

ini_set('xdebug.max_nesting_level', 200);
Run Code Online (Sandbox Code Playgroud)

我通过自制软件安装了 xdebug,这在我的 php 版本输出中:

PHP 7.1.12 (cli) (built: Dec  2 2017 12:15:25) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans   
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,虽然我在 PhpStorm 事件日志中收到错误:

Cannot accept external Xdebug connection: Cannot evaluate expression 'isset($_SERVER['PHP_IDE_CONFIG'])'
Run Code Online (Sandbox Code Playgroud)

在我的 PhpStorm 设置中,我将其设置为接受外部连接:

在此处输入图片说明

在 php info 我有可用的 xdebug 设置:

$ php -i | grep xdebug                 
Additional …
Run Code Online (Sandbox Code Playgroud)

php debugging xdebug phpstorm codeception

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

在 osx 上使用 php 7.2 配置 xdebug 2.6

我正在尝试安装 xdebug 但经过很多努力仍然无法安装,我已经尝试过这个https://medium.com/@roberto.b/how-to-install-xdebug-with-my-php- 7-on-my-macosx-f85dbac91e59和很多 stackoverflow 问题,但仍然没有,

我做错了什么,但无法弄清楚是什么,请对此提供任何帮助...这是我在 error.log 上得到的

[Sat Apr 07 19:21:35.785293 2018] [so:warn] [pid 28523] AH01574: module php7_module is already loaded, skipping
Failed loading /usr/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so:  dlopen(/usr/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so, 9): Symbol not found: _zend_pass_function
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so
  Expected in: flat namespace
 in /usr/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so
Failed loading /usr/local/php5/lib/php/extensions/no-debug-non-zts-20170718/opcache.so:  dlopen(/usr/local/php5/lib/php/extensions/no-debug-non-zts-20170718/opcache.so, 9): Symbol not found: _zend_empty_string
  Referenced from: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20170718/opcache.so
  Expected in: flat namespace
 in /usr/local/php5/lib/php/extensions/no-debug-non-zts-20170718/opcache.so
[Sat Apr 07 19:21:35.904894 2018] [mpm_prefork:notice] [pid 28523] AH00163: Apache/2.4.28 (Unix) PHP/7.0.2 configured -- resuming normal operations
[Sat …
Run Code Online (Sandbox Code Playgroud)

php macos xdebug

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

如何使用 ddev 和 PhpStorm 逐步调试 drush 命令?

我需要在 ddev 项目中调试一个 drush 命令,但我不知道该怎么做。在 ddev v0.18.0 中,PhpStorm 调试器一开始就中断了,但是找不到相关代码。

php drupal xdebug drush ddev

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