我已经尝试了很多方法来解决这个问题,但没有工作。以下是我的php.ini
文件代码:
[XDebug]
xdebug.mode=debug
xdebug.remote_enable=on
xdebug.start_with_request=yes
xdebug.client_host=host.docker.internal
xdebug.discover_client_host = true
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
我也尝试过xdebug.profiler_enable=on
,但是当我在CMD中运行php -v
时,两者都有这个问题:
Xdebug:[配置]设置“xdebug.remote_enable”已重命名,请参见www.example.com上的升级指南https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_enable(参见:https://xdebug.org/docs/errors#CFG-C-CHANGED)
下面是我的launch.json
文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Built-in web server",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-dxdebug.mode=debug",
"-dxdebug.start_with_request=yes",
"-S",
"localhost:0"
],
"program": "C:\\xampp\\htdocs\\todoxampp\\todo_db.php",
"cwd": "${workspaceRoot}",
"port": 9003,
"serverReadyAction": {
"pattern": "Development Server \\(http://localhost:([0-9]+)\\) started",
"uriFormat": "http://localhost:%s",
"action": "openExternally"
}
},
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
},
{
"name": "Listen for Xdebug 2 (Legacy)",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script with Xdebug 2 (Legacy)",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 0,
"runtimeArgs": [
"-dxdebug.remote_enable=yes",
"-dxdebug.remote_autostart=yes"
],
"env": {
"XDEBUG_CONFIG": "remote_port=${port}"
}
},
{
"name": "Xdebug Cloud",
"type": "php",
"request": "launch",
"xdebugCloudToken": ""
},
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}"
}
],
"pathMappings": {
"/var/www/html": "${workspaceFolder}/www",
"/app": "${workspaceFolder}/app"
}
}
我还升级了我的PHP和Apache版本。我使用的是XAMPP。
我已经按照安装Xdebug的一步一步的说明,并观看YouTube教程,但似乎没有工作:我的变量、监视和调用堆栈为空,并且代码未调试。
1条答案
按热度按时间e5njpo681#
如果您使用的是Xdebug 3,您可以从VS Code launch.json文件中删除Xdebug 2配置。不确定这是否会导致问题,但可能最好保留已安装的配置。请在此处参考Xdebug设置选项:https://xdebug.org/docs/all_settings
确保您的php.ini配置设置为与http服务器一起使用,特别注意
在对php.ini文件进行任何更改后,请务必重新启动服务器。使用phpinfo.php文件验证您的设置。
确保Xdebug显示在phpinfo报告中(使用浏览器[control]+F在phpinfo.php文件加载时快速找到“xdebug”)
你使用断点和“侦听Xdebug”吗?当你尝试“内置服务器”时会发生什么?
在VS代码之外,如果你在php中遇到错误,你会得到Xdebug信息吗?你可以写一些你知道会导致错误的代码来测试它,然后把它加载到浏览器中,看看你是否得到了Xdebug信息。
请在Xdebug站点参考本节:https://xdebug.org/docs/install#xdebug_info
总之,很难说出哪里出错了。如果你发布了你的PHP版本和服务器信息,这会很有帮助。当你加载phpinfo.php文件时,在顶部附近找一行“Loaded Configuration File”,并确保显示的内容是你正在编辑的php.ini文件。
祝你好运!