远程机器 (IP=192.168.2.3):
- 安装宝塔WIN版, 并做以下步骤
-
一键安装PHP7.3 + NGINX1.2.1 + MYSQL5.7
-
PHP配置文件(PHP.INI)最底部添加相关配置文件代码(删除每行前的空格), 以便启用XDEBUG(默认为2.7.2版)
[XDebug] zend_extension=php_xdebug.dll xdebug.start_with_request = yes xdebug.mode = debug,develop,trace xdebug.remote_enable = 1 xdebug.remote_host = 192.168.2.3 xdebug.remote_port = 9003 ###所有请求都会被监听 xdebug.remote_autostart=1 -
(可选)其他设置, 防止超时引的错误, 进行以下配置文件修改
常规情况下,PHP请求时间一般设置在30-300秒。在调试时,这个时间远远不够,很容易导致调试过程中,服务器 返回502、504的超时状态,妨碍调试。 所以要修改远程机器的php-fpm、nginx的配置,延长超时触发时间。 1: NGINX 找到php-fpm配置文件`nginx.conf`,若发现文件中出现以下配置任意之一,统一改为7200或更多。没有出现的 配置不用理会,也无需手动添加到配置文件中: - fastcgi_connect_timeout - fastcgi_send_timeout - fastcgi_read_timeout - proxy_connect_timeout - proxy_send_timeout 这些配置的单位均为秒。 2: PHP-FPM 找到php-fpm配置文件`php-fpm.conf`,一般是和`php.ini`放在一起。在`php-fpm.conf`里,找到配置 - request_terminate_timeout 修改为7200或更多,该配置的单位为秒。 注意:不可超过上面在NGINX设置的超时时间,否则NGINX就优先触发504超时。 -
创建网站, 并指定站点目录=D:/wwwroot/192.168.2.3, 配置伪静态等
本地机器:
-
安装PHP7.3 到D:\BtSoft\php\73\php.exe
-
安装VSCODE, 并做以下设置
- 安装扩展: PHP Intelephense
- 安装扩展: PHP Debug, 并配置扩展, 在VS的全局配置文件settings.json添加
"php.debug.executablePath": "D:\\BtSoft\\php\\73\\php.exe", "php.validate.executablePath": "D:\\BtSoft\\php\\73\\php.exe",- 在VSCODE打开本地代码文件夹
- 在项目根目录.vscode\launch.json中添加以下内容, 达到映射远程和本地代码的目的
{ "version": "0.2.0", "configurations": [ { "name": "监听Xdebug", "type": "php", "request": "launch", "port": 9003, "pathMappings": { "D:/wwwroot/192.168.2.3": "${workspaceFolder}/" }, "hostname": "192.168.2.3" } ] } -
安装CHROME
Xdebug helper浏览器拓展, 并点亮为绿色
测试
- 在本地VS CODE 添加断点
- 在本地CHROME浏览器打开网址http://192.168.2.3
- 会发现已启动调试, 中断并暂停了
- 完成