我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

关注苏南大叔的xdebug系列文章的同学,可以知道,在前几篇文章中(https://newsn.net/say/php-xdebug-compile.html),苏南大叔已经编译并初步配置好了xdebug扩展。本篇文章中,苏南大叔继续讲述xdebug相关配置信息,为xdebug配合ide使用,埋下伏笔。

苏南大叔:xdebug的phpini进阶设置 - xdebug-phpini
xdebug的phpini进阶设置(图6-1)

在php.ini中开启xdebug扩展的配置方式,非法简单,只有简单的一句话:"zend_extension=xdebug.so",注意:有zend字样,否则最终无法使用。

单独配置这一句话的情况下,xdebug的所有配置项目都是采用默认值的。而这些默认值中,苏南大叔认为,这里有两个默认值,需要大家进行配置修改。

配置项一:ide key

ide key这个值,是用来服务器和ide之间通信的。因为,是需要上述两者之间协商的值。所以,需要进行修改。不过,如果是本机调试的情况下,我们并不需要修改这个值,具体的原因,大家可以参见后续苏南大叔的相关文章。

苏南大叔:xdebug的phpini进阶设置 - xdebug_01
xdebug的phpini进阶设置(图6-2)

配置项二:remote port

远程端口,xdebug的调试功能,建立在端口监听的基础上。而默认监听的端口号是9000,这个端口号是不是有些眼熟?php-fpm的默认端口号也是这个!这个就有些十分尴尬了。xdebug比php-fpm出现的早,但是php-fpm远比xdebug应用普遍。

早期的php世界里面,是没有php-fpm的,都是使用apache的handler模式调用php的。权衡利弊之下,我们还是修改xdebug的端口号比较好些,毕竟xdebug使用场景相对罕见一些。

苏南大叔:xdebug的phpini进阶设置 - xdebug_02
xdebug的phpini进阶设置(图6-3)

最终的php.ini设置

综上所述,下面给出相关的ini设置,里面已经包含了上一篇文章中所描述的"zend_extension=xdebug.so"这个内容。

[xdebug]
zend_extension = xdebug.so
xdebug.remote_enable = On
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9100
xdebug.remote_handler = dbgp
xdebug.idekey = newsn.net

苏南大叔:xdebug的phpini进阶设置 - ini_real
xdebug的phpini进阶设置(图6-4)

重启生效。我们可以看到,相关的phpinfo里面的设定已经发生了变化。

苏南大叔:xdebug的phpini进阶设置 - xdebug_ini_2
xdebug的phpini进阶设置(图6-5)

结论总结

php.ini中的准备工作就到此结束了,下一篇文章中,苏南大叔将讲述在phpstrom里面如何设置xdebug。记住本篇文章中,我们设置好的端口号以及idekey,下一篇文章中,会用到相关设置。

注意事项

ini中的xdebug,对于phpinfo来说,写extension=也是可以生效的,写zend_extension=也是可以的。但是在最终的调试应用中,我们就可以发现,写extension的时候,是始终打不到断点的。所以,还是请注意这个加载扩展的写法。下面的写法,可能是有问题的。

苏南大叔:xdebug的phpini进阶设置 - xdebug_ini_1
xdebug的phpini进阶设置(图6-6)

苏南大叔的更多xdebug的相关文章,请点击这里查看:https://newsn.net/tag/xdebug/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   php    xdebug