1

我的笔记本电脑上有一个 Win7 和一个运行 Ubuntu 的 VMware 机器。

在最后一个上,我配置了我的 LAMP 和一个 samba 服务器,以便能够将我的项目共享到 Win7(映射驱动器)。

我刚刚通过包管理器安装了 xdebug,并在 php.ini 中完成了以下配置:

extension=xdebug.so
[xdebug]
zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.remote_host=192.168.199.2 # this is my $_SERVER['REMOTE_ADDR']
xdebug.remote_port=9055
xdebug.show_local_vars=0
xdebug.var_display_max_data=10000
xdebug.var_display_max_depth=20
xdebug.show_exception_trace=0

然后我通过了以下清单:

  • 确认使用 phpinfo() 安装了 xdebug
  • 这里得到了一些标记,所以我可以轻松地发送 xdebug cookie
  • 在 PHPStorm->Settings->PHP->Debug 我已经为 xdebug 设置了 9055 端口
  • 按下 PHPStorm 中的“电话图标”以侦听传入的 xdebug 连接,并设置调试键(与市场发送的相同 - 'xdebug')
  • 移至浏览器,访问我的脚本 url,使用 marklet 启动调试会话(确认 phpinfo() 中存在调试键)
  • 在我的脚本中标记了一个断点
  • 刷新浏览器页面

但没有什么对我有用。

4

1 回答 1

1

简而言之,我的问题的解决方法是:

  • 启用xdebug.remote_log(我可以检查连接尝试并确定 xdebug 尝试连接的确切 IP) - [这是关键]
  • 删除/设置为 0 xdebug.remote_connect_back(因为它用 $_SERVER['REMOTE_ADDR'] 覆盖 remote_host)
  • 设置适当的xdebug.remote_host
  • extension=xdebug.so仅使用 zend_extension删除了已加载的 xdebug

因此,每次都不要忘记检查日志是否存在!:)

感谢 LazyOne 提供非常有用的提示!

于 2013-09-02T16:06:47.927 回答