我试图用PhpStorm 7.0设置Xdebug(2.2.3),我不能像过去那样调出逐步调试控制台.我用来设置它的指南是:
> https://www.jetbrains.com/phpstorm/webhelp/configuring-xdebug.html
> http://blog.jetbrains.com/webide/2011/02/zero-configuration-debugging-with-xdebug-and-phpstorm-2-0/
我知道Xdebug扩展本身正在工作,因为在页面加载时正在创建cachegrind.out.3280文件(所需的所有脚本和变量/值都需要12Mb).我在php.ini(php版本5.4.12)中的设置是:
zend_extension="c:/wamp/bin/php/php5.4.12/zend_ext/php_xdebug-2.2.3-5.4-vc9-x86_64.dll"
xdebug.profiler_output_dir="c:/wamp/tmp"
xdebug.profiler_output_name="cachegrind.out.%p"
xdebug.profiler_enable=1
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.idekey=xdebug
xdebug.remote_connect_back=1
xdebug.remote_host=dashboard.dev
设置断点后,打开Xdebug chrome扩展,单击以在PhpStorm中收听Xdebug并刷新,我从Xdebug对话中获取Incoming Connection:
但是,当我单击“接受”时,对话框消失,没有任何反应.
如果我然后转到PhpStorm中的Settings / PHP / Servers,我看到已经创建了一个新条目:
只有删除添加的条目,才能在刷新页面时再次显示“传入连接”对话框.我注意到端口设置为80,因此想知道是否正确,因为Xdebug扩展设置为在端口9000上运行;当我点击“验证远程环境”选择部署服务器,然后“验证”,我得到:没有加载调试扩展.所以我假设问题与设置方式有关.
解决方法:
通过将断点添加到代码的其他部分来解决问题,因为它在附加到try子句时不起作用.此外,以下是一些可能有用的其他提示:
>尝试使用程序化断点:xdebug_break();
>检查如果你的php是32位,那么Xdebug的版本(或者它们都是64位)也是如此.
> xdebug远程主机设置与服务器IP地址相关(因此本地为127.0.0.1).