代码审计学习01--搭建php调试环境

Catalogue
  1. 1. 代码审计学习01–搭建php调试环境
    1. 1.0.1. 环境:
    2. 1.0.2. 准备工作:
    3. 1.0.3. 配置环境–php.ini:
    4. 1.0.4. 配置环境–VScode
    5. 1.0.5. 测试
  2. 1.1. 参考资料

代码审计学习01–搭建php调试环境

本文主要记录配置php代码本地调试环境的过程

环境:

  • Windows7 SP1 虚拟机
  • 小皮PHPStudy(WANMP)
  • VS code

准备工作:

  • PHPStudy勾选扩展:PHP xdebug

  • VS code安装插件:PHP xdebug

配置环境–php.ini:

编辑当前使用的php版本的php.ini,在最底下添加如下内容:

1
2
3
4
[xdebug]
zend_extension = ""
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
  • 其中zend_extension后面填写xdebug.dll的路径

  • 如果需要修改默认监听的端口可以添加如下内容到最后

1
xdebug.remote_port = 9001

查了很多教程,基本上到此,这一块的配置都结束了,实际上,这样进行调试并不能断点执行,算是我遇到的一个坑吧,这里需要再把之前的一条配置注释掉才能成功进行断点调试,希望懂的老哥肯指点一二。

然后通过Ctrl+F进行搜索xdebug,将以下内容用;注释掉

1
;extension=php_xdebug

到此php.ini的配置就结束了

配置环境–VScode

点击FilePreferencesSettings

搜索php,点击Edit in setting.json

image-20200605190028142

编辑我们要用的php的路径到这个json文件中,并保存:

1
2
3
{
"php.validate.executablePath": "C:\\phpstudy_pro\\Extensions\\php\\php5.5.9nts\\php.exe"
}

这里我们随便准备一个php文件用来测试用(这里需要VScode编辑器处于打开某个目录的状态下才行):

1
2
3
4
5
6
7
8
# 	index.php
<?php
$a = 1;
$b = 11;
echo $a;
echo "<br/>";
echo $c = $a+$b;
?>

接下来切换到调试界面

image-20200605190700965

选择创建launch.json:

image-20200605192540292

端口跟php.ini的设置成一样的

到此需要配置的内容就结束了

测试

选择断点,点击调试界面上面的run的三角形,或者按F5进入调试

然后通过浏览器打开该网页,回到VS Code,即可进行断点

image-20200605193205299

参考资料

微软vscode中使用xdebug调试,断点不执行或跳过断点的坑

https://blog.csdn.net/ajanious/article/details/90143113

PHP开发-VSCode调试:

https://zhuanlan.zhihu.com/p/38596789

VScode+phpStudy搭建php代码调试环境

https://www.cnblogs.com/lceFIre/p/12469834.html#XWT3bhDj