简介

前几天同事接了个私单,基于drupal开发的一个论坛系统,但是由于之前没有接触过PHP,并且项目比较紧急,所以邀请我和他一起研究这个。

作为一个资深Javaer,至于为什么要去研究PHP?我只能说,赚钱嘛,不丢人。

安装必备软件

安装 wnmp

wnmp是 window+nginx+mariaDB+php 的组合,比较适合新手。wnmp安装比较简单,直接在百度上搜索wnmp,最终找到了 清风的网络空间,在百度网盘链接里面直接有wnmp一键安装包,下载解压即可。解压后目录里面有运行程序.bat,关闭程序.bat,顾名思义,可以一键启动,一键关闭。

解压之后,找到php目录,把php目录加入到环境变量中,然后执行命令 php -v,可以查看PHP的版本,目前最新的PHP版本为7.4.6。

安装 xdebug

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

在xdebug官网上发现xdebug对php有版本要求,版本支持

PHP Version Support

可以最下方看到,对php7.4必须最低到7.4.20以上,所以必须重装php。在PHP官网下载,目前php7.4最高版本为php7.4.30。直接下载,然后替换wnmp下面的php,其中php目录下的ext目录和php.ini文件可以保留,因为都是7.4的依赖,一般可以正常使用。

在上面版本支持中可以发现PHP7.4匹配的是xdebug3.1,在下载页面下载对应的版本,然后改名为php_xdebug.dll放到php目录下ext文件夹中。

修改php.ini,在最下面添加,具体的目录位置,根据自己目录来修改

1
2
3
4
5
6
7
8
[Xdebug]
zend_extension="E:/software/wnmp/wnmp_php7/php/ext/php_xdebug.dll"
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.out_dir="E:/software/wnmp/wnmp_php7/tmp"
xdebug.log="E:/software/wnmp/wnmp_php7/logs/xdebug.log"
xdebug.log_level=7
xdebug.show_local_vars=0

安装vscode以及相关PHP插件

vscode官网中,可以直接下载安装。安装完之后,在vscode扩展中安装如下插件

  • xdebug.php-debug
  • xdebug.php-pack
  • zobo.php-intellisense

安装完成之后,修改php-debug的配置,上面有个在setting.json中编辑选项,修改变量php.debug.executablePath为自己php.exe所在目录的值,最终我的如下

1
2
3
{
"php.debug.executablePath": "E:\\software\\wnmp\\wnmp_php7\\php\\php.exe",
}

开始调试

修改wnmp目录下 nginx/conf/conf.d/www.conf 文件,修改root指向

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
server {

listen 80;
server_name localhost;

access_log logs/www.access.log main;

#root www;
root F:\cms_code\drupal-9.4.5; # 改为项目目录
index index.html index.htm index.php;

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
}

}

重启服务,然后在VS Code项目中打上断点,然后打开浏览器即可进入开发调试了。

这样PHP的开发环境就已经配置好了。这里留一个别人的视频:php调试(vscode+xdebug3)单步调试