我使用PHPStorm和Xdebug来逐步调试我的代码。 PHPStorm运行在Windows 7机器上,我的本地Web服务器运行在另一台CentOS 6.4机器上。 我已经执行了
这里是否有任何想法?
phpinfo();
以验证PHP是否加载了Xdebug,确实加载了。以下是我在PHP.ini中对Xdebug的设置:
[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轻松地返回到Windows机器的9000端口。我还将SELinux设置为宽容模式,但无济于事。
这里是否有任何想法?
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/ - LazyOnexdebug_var_dump()
或xdebug_is_enabled()
时,我得到的值表明xdebug正在工作。然而,PHPStorm没有连接。我已经四次检查了我的远程服务器设置,并且可以百分之百地告诉您它们是正确的。 - Dave