xdebug3+php8.0+vscode断点调试php程序

简介: xdebug3+php8.0+vscode断点调试php程序

今天帮朋友弄一个php写的小系统。因为逻辑稍微复杂,于是肉眼实在是无法看懂逻辑。

于是掏出Xdebug这个php调试神器。

本地环境

我的机器环境是mac OS 11.4 + php8.0.7 + vscode

安装php

这里使用brew安装,如果是其他的Linux系统话的,使用对应的命令即可。

brew install php

安装后,通过nginx反向代理到php-fpm上。

server {
        listen 9845;
        server_name localhost;
        location / {
            root   /Users/qingcheng/php;
            index  index.html index.htm index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
           root           /Users/qingcheng/php;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
           include        fastcgi_params;
        }
    }

安装xdebug

很多老教程都是用直接下载dll或者so包的方式来安装xdebug。后面我发现php本身也提供了快速安装某个扩展包的工具。那就是pecl

使用pecl可以瞬间就安装好当前php程序版本对应的扩展包

pecl install xdebug

然后使用php -v

看到输出有xdebug字样,那就说明xdebug安装成功了。

vscode配置。

安装php-debug插件

在扩展商店直接安装即可。也可以在vscode中,按f1 输入 ext install php-debug

修改php.ini

在php.ini中加入配置项

[xdebug]
zend_extension="xdebug.so"
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003    #xdebug3 监听的端口

调试运行,进入断点

在vscode的debug选项中,添加配置。然后选择php

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 0,
            "runtimeArgs": [
                "-dxdebug.start_with_request=yes"
            ],
            "env": {
                "XDEBUG_MODE": "debug,develop",
                "XDEBUG_CONFIG": "client_port=${port}"
            }
        },
        {
            "name": "Launch Built-in web server",
            "type": "php",
            "request": "launch",
            "runtimeArgs": [
                "-dxdebug.mode=debug",
                "-dxdebug.start_with_request=yes",
                "-S",
                "localhost:0"
            ],
            "program": "",
            "cwd": "${workspaceRoot}",
            "port": 9003,
            "serverReadyAction": {
                "pattern": "Development Server \\(http://localhost:([0-9]+)\\) started",
                "uriFormat": "http://localhost:%s",
                "action": "openExternally"
            }
        }
    ]
}

然后按F5 运行。通过浏览器访问nginx端口,就可以看到进入断点了。

目录
相关文章
|
2月前
|
PHP
微信公众号的程序接入 - PHP 版本源代码
微信公众号的程序接入 - PHP 版本源代码
微信公众号的程序接入 - PHP 版本源代码
|
8月前
|
PHP
windows11 vscode 配置 php环境
windows11 vscode 配置 php环境
59 0
|
9月前
|
算法 Linux C++
linux中利用VScode编写C++程序
linux中利用VScode编写C++程序
|
17天前
|
前端开发 JavaScript PHP
【vscode编辑器插件】前端 php unity自用插件分享
【vscode编辑器插件】前端 php unity自用插件分享
9 0
|
28天前
|
安全 编译器 PHP
PHP 8 的新特性与优化——构建更高效的Web应用程序
PHP 8 是最新的PHP版本,它引入了一系列令人激动的新特性和优化,为开发者提供了更多的工具和功能来构建高效的Web应用程序。本文将介绍PHP 8的一些重要特性,包括 JIT 编译器、新的数据结构、类型系统改进以及错误处理的增强。我们还将探讨如何利用这些新特性和优化,提升Web应用程序的性能和可维护性。
27 0
|
2月前
|
监控 安全 前端开发
PHP基于B/S版 医院不良事件管理系统源码vscode+laravel8医院如何加强不良事件上报系统的管理 AEMS系统源码
医院安全(不良)事件管理AEMS系统构建全院人员,在医疗、环境、设备、服务及相关制度体系运行过程中,发现存在的不良、隐患事件,能够以匿名、实名方式主动、方便、快捷的上报、反馈。
45 6
|
2月前
|
缓存 PHP 数据库
PHP程序性能优化指南
在当今互联网快速发展的时代,PHP作为一种流行的服务器端脚本语言,其性能优化显得尤为重要。本文将介绍一些提升PHP程序性能的有效方法,帮助开发者更好地优化他们的代码,提升应用程序的响应速度和效率。
|
8月前
|
Web App开发 JavaScript 前端开发
Vue系列教程(04)- VsCode断点调试(Debugger for Chrome)
Vue系列教程(04)- VsCode断点调试(Debugger for Chrome)
176 0
|
2月前
|
PHP
HYBBS 表白墙网站PHP程序源码 可封装成APP
HYBBS 表白墙网站PHP程序源码 可封装成APP
41 1