学习目标:

成功搭建php 的xdebug开拓环境,便于本地调试,提高开拓效率

配置xdebug扩展

本文以windows环境为例,其他的linux和mac等环境同理。

phpxdebug配置phpstorm设置装备摆设Xdebug最完全教程绝对胜利 React

本文配置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);

涌现这个,恭喜你配置成功!
可以愉快地开拓玩耍最好的措辞php了!

php7进阶到架构师干系阅读

https://www.kancloud.cn/gofor/gofor

末了,欢迎大家留言补充,谈论~~~