2

我刚刚使用 XAMPP v3.2.4 迁移到 php v8.0.0。但是 Xdebug 不工作。执行不会在断点处停止。

我的安装说明——

Download php_xdebug-3.0.2-8.0-vs16-x86_64.dll
Move the downloaded file to \xampp\php\ext
Update D:\xampp\php\php.ini and change the line
zend_extension = \xampp\php\ext\php_xdebug-3.0.2-8.0-vs16-x86_64.dll
Restart the webserver

这是安装摘要-

Xdebug installed: 3.0.2
Server API: Apache 2.0 Handler
Windows: yes
Compiler: MS VS16
Architecture: x64
Zend Server: no
PHP Version: 8.0.0
Zend API nr: 420200930
PHP API nr: 20200930
Debug Build: no
Thread Safe Build: yes
OPcache Loaded: no
Configuration File Path: no value
Configuration File: D:\xampp\php\php.ini
Extensions directory: \xampp\php\ext

php.ini

[XDebug]
xdebug.remote_enable = 1
zend_extension = D:\xampp\php\ext\php_xdebug-3.0.2-8.0-vs16-x86_64.dll
xdebug.start_with_request=yes
xdebug.remote_autostart=1
xdebug.mode=debug
xdebug.discover_client_host = true

VS 代码 launch.json -

{
"version": "0.2.0",
"configurations": [
    {
        "name": "Listen for XDebug",
        "type": "php",
        "request": "launch",
        "port": 9003,
        "pathMappings": {
            "your filepath": "${workspaceRoot}",
        }
    },
    {
        "name": "Launch currently open script",
        "type": "php",
        "request": "launch",
        "program": "${file}",
        "cwd": "${fileDirname}",
        "port": 9000
    }
  ]
}
4

1 回答 1

0

以下几行解决了我的问题 -

在 php.ini -

xdebug.remote_port = "9003"  //added this line

在启动.json

{

"version": "0.2.0",
"configurations": [
    {
        "name": "Listen for XDebug",
        "type": "php",
        "request": "launch",
        "port": 9003    //changed from 9000 to 9003
    },
    {
        "name": "Launch currently open script",
        "type": "php",
        "request": "launch",
        "program": "${file}",
        "cwd": "${fileDirname}",
        "port": 9003,  //added this line
        "runtimeExecutable": "D:\\xampp\\PHP\\php.exe"    //added this line
    }
]
}
于 2021-01-29T05:25:40.947 回答