学习目标:
成功搭建php 的xdebug开拓环境,便于本地调试,提高开拓效率
配置xdebug扩展本文以windows环境为例,其他的linux和mac等环境同理。
本文配置phpstrom支持xdebug断点调试,不须要浏览器安装扩展程序即可php程序断点调试
xdebug官网下载地址:https://xdebug.org/download.php
第一步:根据自己电脑的php版本下载对应的xdebug版本
【把稳:区分ts和nts版本】
TS指Thread Safety,即线程安全,一样平常在IIS以ISAPI办法加载的时候选择这个版本。
NTS即None-Thread Safe,一样平常以fast cgi办法运行的时候选择这个版本,具有更好的性能。
如何确定自己电脑支持的是NTS还是TS?
运行phpinfo(),部分截图如下
我的电脑显示是NTS版本。
xdebug官网下载列表NTS版本与TS版本的区分如下图:
xdebug NTS与TS版本区分
根据自己系统支持选择对应的(php版本+NTS/TS)
第二步:在php.ini配置,让php支持xdebug
[xdebug]zend_extension="F:\\AppServ\\php5\\ext\\php\_xdebug-2.4.1-5.6-vc11.dll" #指定Xdebug扩展文件的绝对路径
【把稳:下面的配置是缺点的】
extension = "F:\\AppServ\\php5\\ext\\php\_xdebug-2.4.1-5.6-vc11.dll"
由于php支持模块,一样平常都是在php.ini文件中配置extension=xxx.dll,我便是犯了这样的缺点
extension = "F:\\AppServ\\php5\\ext\\php\_xdebug-2.4.1-5.6-vc11.dll
这样配置,导致xdebug配置始终不堪利,花了大半天才创造这个缺点,都是血泪的教训呀
xdebug在php.ini中完全配置如下:
xdebug.profiler_enable=on #是否启用Xdebug的性能剖析,并创建性能信息文件xdebug.remote_enable = on #是否开启远程调试xdebug.remote_handler = dbgp #指定远程调试的处理协议xdebug.remote_host= 127.0.0.1 #指定远程调试的主机名xdebug.remote_port = 9001 #指定远程调试的端口号,避免9000端口和php-fpm冲突xdebug.idekey = PHPSTORM #指定通报给DBGp调试器处理程序的IDE Key
重启做事器,运行phpinfo(),看是否支持xdebug
涌现这个表明php支持xdebug
设置phpstorm第一步:打开phpstorm的设置
第二步:在设置中搜索xdebug,设置端口号9001
把稳这个须要和php.ini中xdebug.remote_port 配置保持同等)
点击apply按钮,保存设置
第三步:设置GBDP
个中的IDE_key须要和php.ini中xdebug.idekey配置保持同等,
设置主机,可以自定义,如localhost,这是个名称,须要不才一步详细设置点击apply按钮,保存设置
第四步:设置主机Host
第五步:选择主机Host
(1)点击下图所指的位置
(2)选择主机
第6步:在你运行项目的入口文件添加以下代码
if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') { setcookie('XDEBUG_SESSION', 1, time() + 86400);}
这样就担保浏览器不须要添加debug扩展
第七步:开启调试模式
末了一步:在须要调试的php代码处打断点,进行调试
【须要把稳:】
第一次不会触发断点调试,缘故原由是下面代码第一次运行,不存在XDEBUG_SESSION的cookie值。
再次运行,就会触发断点调试
setcookie('XDEBUG_SESSION', 1, time() + 86400);
涌现这个,恭喜你配置成功!
php7进阶到架构师干系阅读
可以愉快地开拓玩耍最好的措辞php了!https://www.kancloud.cn/gofor/gofor
末了,欢迎大家留言补充,谈论~~~