2013-07-30 97 views
3

我使用PHPStorm和Xdebug一起遍历我的代码。 PHPStorm在Windows 7机器上运行,并且我的本地网络服务器在单独的CentOS 6.4机器上运行。我已经完成了一个phpinfo();来验证Xdebug是否被PHP加载,它是。以下是PHP.ini中我的Xdebug的设置: Xdebug不能与PHPStorm配合使用

 
    [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机器telnet到端口9000上的Windows机器没有问题。我还将SELinux设置为宽容,但无济于事。

任何想法可能发生在这里?

+1

那么...如果你在xdebug_log文件中没有任何...然后xdebug根本没有得到调试请求(cookie/get/post参数等)。您可以强制调试模式:'xdebug_break();'以编程命中断点或使用'xdebug.remote_connect_back = 1'或'xdebug.remote_autostart = 1'(检查文档以了解详细信息)。 SELinux肯定会导致问题(在这方面根本不是专家)。在任何情况下,看看这个以及:http://blog.jetbrains.com/phpstorm/2013/07/webinar-recording-debugging-php-with-phpstorm/ – LazyOne

+0

我试过你的建议,但仍然没有运气。当我调用'xdebug_var_dump()'或'xdebug_is_enabled()'时,我得到的值表示xdebug正在工作。但是,PHPStorm未连接。我已经四次检查了我的远程服务器设置,并且我可以100%地告诉你他们是正确的。 – Dave

+0

我正在为自己摇头......我重新启动CentOS,现在所有人都在工作。呃,我真的需要开始遵循我自己的建议,并尝试重新启动之前浪费你的家伙的时间;-) – Dave

回答

2

尝试在PhpStorm

  1. 打开设置 - >语言& Frameworks-> PHP->调试
  2. 取消选择配置项目 “忽略未注册通过服务器配置的外部连接” 选项
  3. OK