前言
在php代码审计过程中,断点调试是很常用的;
本文用phpstudy搭建zzcms站点,使用PhpStorm+Xdebug作为断点调试环境;
环境
操作系统:win10
网站集成环境:phpstudy2018
IDE:phpStorm + xdebug
浏览器;微软新版的Edge浏览器
cms:zzcms
前提:安装好phpstudy
zzcms站点搭建
修改hosts文件,进行本地映射
将zzcms安装包解压到www目录下
用phpstudy配置站点,在其他选项菜单中找到,站点域名管理选项卡
在浏览器中访问www.zzcms.com
由于之前做过映射,所以会访问本地的127.0.0.1
进行zzcms的安装向导,在创建数据库时填写相应的账号和密码
安装成功
配置phpStorm+xdebug
注意每一步配置完后,需要
apply
一下
每次配置完php.ini都需要重启apache生效
php.ini配置文件中;
是注释符
添加php解释器,这里选择php5.6.27
版本的
添加php.exe可执行文件路径,添加xdebug方便后续调试程序。
配置xdebug
xdebug需要自己下载安装,官网是https://xdebug.org/install.php。官网上给出了各个操作系统的安装方法。
提示:当我使用mac来安装xdebug扩展时,出现创建/usr/local/Cellar/php@8.0/8.0.19/pecl/20200930文件夹失败的错误。解决这个错误的方法是自己手动创建该文件夹(php版本不同,路径名就不同)。再次在终端上使用
pecl install xdebug
命令安装xdebug
在php.ini中配置xdebug
配置步骤均来自于官网,如果该部分内容过时,请参考官网进行配置。官网地址:https://xdebug.org/docs/install#configure-php
当然,使用phpstorm的validate功能,也有会相关的提示
在文件尾部添加如下配置(部分路径需自己修改)
[XDebug]
xdebug.profiler_output_dir="C:\phpstudy\PHPTutorial\tmp\xdebug" ;optional
xdebug.trace_output_dir="C:\phpstudy\PHPTutorial\tmp\xdebug" ;optional
zend_extension="C:\phpstudy\PHPTutorial\php\php-5.6.27-nts\ext\php_xdebug.dll" ;xdebug扩展的位置,每个人可能不一样,必须确定的
xdebug.remote_enable=On ;启动远程调试,必须确定
xdebug.remote_host=127.0.0.1 ;需要调试的远程主机
xdebug.remote_port=9001 ;远程主机与phpstorm通信的端口,必须确定
xdebug.remote_handler=dbgp ;通信协议,optional
xdebug.auto_trace=on ;启用代码自动跟踪,optional
xdebug.idekey=PhpStorm,optional
xdebug.collect_return=On ;收集返回值,optional
xdebug.collect_params=On ;收集参数,optional
上面配置的很多参数,其实主要的配置就下面几个。
配置完后,重启apache服务
返回到PhpStorm的设置中进行xdebug相关的配置
配置Debug,Debug port 和之前php.ini中的配置保持一致。
配置DBGp Proxy
配置servers
到此,xdebug配置完成!
验证xdebug是否有效
如果有错误请检查php.ini配置文件是否正确,并根据错误提示来解决问题。
继续配置运行时环境(php web page)
这时候,我们点击右上角的运行按钮,程序就会跑起来
效果如图:
开启debug调试测试,测试成功
本文到此结束!