【发布时间】:2019-01-04 17:01:49
【问题描述】:
问题:
我无法让 xdebug 在 localhost 中使用 PhpStorm 或 NetBeans。我根据向导安装了正确的 Xdebug ext。我可以从phpinfo() 和php -v 输出看到Xdebug 已正确安装。我有一个新的硬盘驱动器正在安装新的操作系统,从那时起我就无法让 Xdebug 设置工作。
通过 web/Postman 访问应用程序时,我无法获得要命中的断点。这就像断点不存在或没有检测到连接。没有生成日志文件。
有什么作用:
在 PhpStorm 中,我点击调试 phpunit.xml 图标,然后它运行我的 PHPUnit 测试,Xdebug 确实工作,断点被命中,并生成日志文件。
我试过了:
- Xdebug 的许多版本,包括 2.55、2.60、2.61 64 位和 32 位以及线程安全和非线程安全的版本
- 使用
php -S和 XAMPP Apache 托管 - NetBeans 和 PhpStorm
我的 php.ini xdebug 部分
[Xdebug]
zend_extension=C:\xampp7.1\php\ext\php_xdebug-2.6.1-7.1-vc14.dll
xdebug.remote_enable=1
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_log=C:\xampp7.1\php\ext\xdebug.log
xdebug.idekey="PHPSTORM"
我不知道还能尝试什么。我想这可能是公司防火墙问题或其他问题,但我的同事都没有这个问题,在新 HD 之前我也没有。我使用的是 Windows 10 企业版,这可能是一些 Windows 配置吗?
【问题讨论】:
-
1) 以防万一——仔细检查您是否正在编辑正确的
php.ini——您的设置可能对 CLI 环境(PHPUnit 调试)和 Web 使用不同的配置。 2) 确保检查phpinfo()输出在它不起作用的地方(出于类似原因)。确保您的设置确实存在于那里 3) 收集 xdebug 日志并查看它的内容——它尝试连接的位置(如果它尝试连接的话)。 4)如果仍然没有 - 一些屏幕截图甚至更好的小截屏视频可能会有所帮助(看看你有什么......也许你错过了一些细微差别/细节) -
其中 php = C:\xampp7.1\php\php.exe php -v 显示 Xdebug v2.6.1,版权所有 (c) 2002-2018,Derick Rethans php.ini 文件位置:c :\xampp7.1\php\php.ini 发出 Web 请求时没有要检查的日志,因为没有创建任何日志。哪些类型的屏幕截图会有所帮助?我可以尝试添加我认为的所有内容的屏幕截图
-
尝试使用
xdebug.remote_autostart = 1.. 或将xdebug_break()放入您的代码中(尝试首先调试非常简单的脚本而不是实际项目代码)——看看这是否会产生日志。 -
xdebug_break() 不起作用,但是... xdebug.remote_autostart=1 起作用了!
标签: php netbeans ide phpstorm xdebug