【问题标题】:Xdebug not breaking on breakpoints after new HD新 HD 后 Xdebug 不会在断点上中断
【发布时间】: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


【解决方案1】:

感谢 LazyOne 找出解决方案!

将 xdebug.remote_autostart=1 添加到 php.ini 有效!非常感谢

【讨论】:

    猜你喜欢
    • 2011-04-30
    • 2018-03-31
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 2013-06-27
    • 1970-01-01
    相关资源
    最近更新 更多