3

我使用 PHPStorm 和 Xdebug 来单步执行我的代码。PHPStorm 在 Windows 7 机器上运行,而我的本地网络服务器在单独的 CentOS 6.4 机器上运行。我已经phpinfo();验证了 Xdebug 是否正在由 PHP 加载,并且确实如此。以下是我的 Xdebug 在 PHP.ini 中的设置:

    [xdebug]
    zend_extension="/usr/lib/php/modules/xdebug.so"
    xdebug.remote_enable = 1
    xdebug.remote_port = 9000
    xdebug.remote_host = "192.168.1.130"
    xdebug.remote_log = "/var/log/httpd/xdebug_log"
    
我同样设置 PHPStorm 以使用我的 CentOS 服务器作为调试服务器,并监听连接。我为这两台机器分配了静态 IP。使用 Chrome Xdebug 插件设置适当的 cookie,我尝试设置断点,但没有任何反应。当我查看 /var/log/httpd/xdebug_log (具有 777 权限)时,那里没有写任何内容。我已经打开了 9000 端口,我可以从我的 CentOS 机器远程登录到我的 Windows 机器的 9000 端口没有问题。我还将 SELinux 设置为 permissive,但无济于事。

有什么想法可以在这里发生吗?

4

3 回答 3

6

尝试在 PhpStorm 中配置您的项目

  1. 打开设置->语言和框架->PHP->调试
  2. 取消选中“通过未注册的服务器配置忽略外部连接”选项
  3. 好的
于 2015-07-08T07:58:55.057 回答
2

我遇到了同样的问题,以下是我为解决它执行的步骤:

  1. 确保您已安装 xdebug 并在 php.ini 中取消注释xdebug.mode=debug
  2. 打开 Settings->Languages & Frameworks->PHP->Debug,Assign Debug Port 值,你可以从 php.ini 中找到这个端口。就我而言,它是 9002
  3. 现在验证调试器配置 - 在这里您需要添加到您的 Web 应用程序文件和 URL 的路径。单击验证。
  4. 现在开始侦听 -> 启用侦听 PHP 调试连接。

完成此设置后,您可以设置断点并使用 XDEBUG 开始调试。

于 2021-06-17T06:29:45.387 回答
1

添加到您的 php.ini:

xdebug.mode=debug

于 2021-03-20T20:48:11.883 回答