这是一篇手记,实际上我在刚才为标题这个事情折腾了好几天,网上查了无数资料,最终终于成功。然后我发现网上的几乎所有资料都存在或多或少的确实,一些问题没有提到。所以如果有人和我一样卡在这个过程中的某个位置,请参考一下我在这里列举的一些情况是否对你有帮助。
这里需要再次说明,我会将整个过程写出来,网上已经有了太多的资料,本文章只是对这个过程的补充。
问题1
这是最坑爹的一个,简直了。我们都知道需要xdebug这个php插件,事实上xampp都有自带这个插件,但是问题来了。在php.ini中的配置真的配对了吗?坑点在这里:
extension=php_xdebug-2.7.2-7.1-vc14-x86_64.dll //这样是错的
zend_extension=D:\xampp\php\ext\php_xdebug-2.7.2-7.1-vc14-x86_64.dll//这样是对的
- 1
问题点在于不能用extension,要用zend_extension,而且二者不能同时出现。这个问题你无法通过phpinfor()发现,只能通过php.exe -m或者php –version获得两个waring。如果无视这个问题,在phpstorm中debug无法获得任何信息,断点无效,始终处于“正在等待与ide key 的传入连接”。
Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
Warning: Module 'xdebug' already loaded in Unknown on line 0
- 1
问题2
在php.ini配置完成后,在运行配置里验证一下,有些问题就暴露出来了,比如网上很多地方都写着:
xdebug.remote_handler = "dbgp"
这么写真的对吗?通过验证看一下,有没有报错
问题3
这个问题网上有提到,就是PHP环境配置里PHP语言级别和CLI解释器不一致的情况。我想有可能这个问题出自官方,因为官方教程中有这样一张图。
其实很明显,这样的话是有可能在debug时接收不到信息的,将语言级别和CLI解释器的语言级别调整为一致是必要的。