目录
VsCode进行php代码调试、调试问题及解决方法
1.Visual Studio Code的下载安装
Visual Studio Code的下载一般可以在应用商店上下载,因为是免费的,注意修改下载路径
2.下载php
1.从php官网的下载
php环境的安装第一可以从php官网下或者GitHub上拉取,第二可以使用phpstudy软件配合使用
新版本可以从下面网站下载PHP For Windows: Binaries and sources Releases
旧版本可以从下面网站下载windows.php.net - /downloads/releases/archives/
建立一个新文件夹存放下载的php,将php压缩包解压缩到该路径下
2.从phpstudy下载php
下载windows版phpstudy网址:
注意修改想要的路径
选择想要的版本进行下载
选择想要的版本
3.配置php环境
打开环境变量配置
将之前php的路径放进去
路径就是从官网上下载php解压的php路径
或者打开phpstudy上下载的php的路径
4.安装Visual Studio Code的插件
Visual Studio Code的各种小插件推荐
其中php插件是必须要安装的
汉化安装后会有一个弹窗,记得重启才有用
5.下载xdebug(调试需要的文件)
1.从官网下载xdebug
从官网下载php也要从官网下载xdebug,用phpstudy就不用去官网下载
打开Visual Studio Code的该插件,点击下面xdebug的网站
打开命令行输入php -i
复制代码进行分析
分析结果操作步骤
1.下载直接点击链接可以下载
2.下载的文件剪切到\php\ext下,不一定要c盘,其他盘也可以,......\php\ext,前面也可以有路径
3.打开下载的php文件下的php.ini文件
4.如果没有就进行下图操作
2.在phpstudy下载
修改合适的端口
6.添加修改php.ini文件
没有下面代码就添加,有就修改,另外xdebug.profiler_output_dir与xdebug.trace_output_dir我也不是很会,可以删掉,我查过有一些人的配置是完全没有这两个的
使用phpstudy的,php.ini文件是配置好的,只需要改端口与下图添加的两句,注意端口要与phpstudy前面配置的一样----改是因为有时候端口会被占用,看情况改不改
7.修改的settings.json文件
修改为路径php的php.exe路径
8.创建修改调试文件
打开PHP文件,点击调试,再创建launch.json
修改和前面一致的端口号,全部要一样
9.报错问题
报错一
在Visual Studio Code中打开sql靶场的代码,运行报错,出现下面代码,每个关卡的报错多少与语句不一样
undefined function mysql_connect Undefined function 'mysql_query'. Undefined function 'mysql_fetch_array'.
在 PHP 中,如果你遇到错误 "Undefined function mysql_query",这意味着你正在尝试使用一个已经废弃的 MySQL 扩展函数。从 PHP 5.5.0 开始,mysql_*
函数系列(包括 mysql_query
)已经被废弃,并在 PHP 7.0.0 中被完全移除。这是为了鼓励使用更安全、面向对象的数据库扩展,如 MySQLi 或 PDO。
问题二
解决办法
原因是php版本过高报错,改适应的低版本就可以了
问题三
"launch.json" 中缺少配置“(gdb) 启动”。最后进行删除干净重新下载安装后解决
10.php调试问题
调试问题:刷新php代码网页,调试无法使用,不能上一步下一步等等
11.解决办法
我尝试查找原因,发现可能是xdebug的端口被占用或者端口不统一导致的
但是我进行了尝试并没有解决该问题
最终在尝试的时候,Visual Studio Code突然提示推荐下面插件,与我原本插件虽然名字一样,但是下面的不一样,一个是xdebug,一个是robert lo
在我下载后,发现php文件可以进行调试了,与是我进行了测验,将原来的xdebug版本禁用,发现php文件依然可以进行调试,但是我将xdebug启用,robert lo禁用后,发现php不能调试了,由此我猜测可能是版本原因------每个人的代码不一样,可能问题不同,一般是下载PHP debug的xdebug就可以了
最后我又测试了端口原因,发现其实也有xdebug的端口被占用或者端口不统一导致的原因
将xdebug启用,robert lo禁用后,发现php不能调试了,并且报错