VSCODE+宝塔WINDOWS+调试远程PHP项目, 环境配置备忘录XDEBUG2.X版本

238 阅读2分钟

远程机器 (IP=192.168.2.3):

  • 安装宝塔WIN版, 并做以下步骤
  1. 一键安装PHP7.3 + NGINX1.2.1 + MYSQL5.7

  2. 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 
    
  3. (可选)其他设置, 防止超时引的错误, 进行以下配置文件修改

    常规情况下,PHP请求时间一般设置在30-300秒。在调试时,这个时间远远不够,很容易导致调试过程中,服务器
    返回502504的超时状态,妨碍调试。 所以要修改远程机器的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超时。
    
  4. 创建网站, 并指定站点目录=D:/wwwroot/192.168.2.3, 配置伪静态等

本地机器:

  • 安装PHP7.3 到D:\BtSoft\php\73\php.exe

  • 安装VSCODE, 并做以下设置

    1. 安装扩展: PHP Intelephense
    2. 安装扩展: PHP Debug, 并配置扩展, 在VS的全局配置文件settings.json添加
            "php.debug.executablePath":    "D:\\BtSoft\\php\\73\\php.exe", 
            "php.validate.executablePath": "D:\\BtSoft\\php\\73\\php.exe",
    
    1. 在VSCODE打开本地代码文件夹
    2. 在项目根目录.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"
               }
           ]
       }
    
  • 安装CHROMEXdebug helper浏览器拓展, 并点亮为绿色

测试

  • 在本地VS CODE 添加断点
  • 在本地CHROME浏览器打开网址http://192.168.2.3
  • 会发现已启动调试, 中断并暂停了
  • 完成