【发布时间】:2021-11-26 23:53:27
【问题描述】:
老实说,我已经尝试了一切以使其正常工作。我对 MacOS 有点陌生,但我已经开始掌握它的窍门了。
我已经在我的 Mac 上安装了 Xdebug,并使用 XAMPP 和 VSCode 作为编辑器。它仍然无法正常工作,我认为它没有连接。
php.ini
[XDebug]
zend_extension = /Applications/XAMPP/xamppfiles/lib/php/extensions/xdebug.so
xdebug.remote_port = 9003
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "/Applications/XAMPP/xamppfiles/temp"
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_enable = On
xdebug.trace_output_dir = "/Applications/XAMPP/xamppfiles/temp"
VSCode 启动.json:
"type": "php",
"request": "launch",
"port": 9003
是的,我的文件就在那个确切的位置。 如果有人对发生的事情有任何了解,我会很高兴知道。
更新 所以我检查了我的错误日志,我遇到了这个问题:
[12-Oct-2021 07:00:06 UTC] PHP 警告:加载 Zend 扩展“xdebug”失败(尝试:/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts- 20190902/xdebug(dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20190902/xdebug,9):找不到图像),/Applications/XAMPP/xamppfiles/lib/php/ extensions/no-debug-non-zts-20190902/xdebug.so (dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so, 9): 不适合找到图片。确实找到了: /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so:mach-o,但架构错误 /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so: mach-o, but wrong architecture)) 在 Unknown on line 0
在网站上它说 xdebug 仅支持自制软件。但是使用 homebrew 安装 php 与使用 XAMPP 不同。我开始认为我不能同时使用 XAMPP 和 XDebug,而必须使用集成的 apache。
XDebug 向导:
安装编译 PHP 扩展的先决条件。 在您的 Mac 上,我们仅支持使用 'homebrew' 进行安装,并且 brew install php && brew install autoconf 应该引入正确的包。”
当我在终端中查找 php 版本时,它会在 homebrew 中获取版本,所以我将其删除。可能是当我使用 ./configure 时,它把 PATH 带到了自制软件中。这可能是图像不正确的原因。
无论问题是什么,我都找不到任何解决方案,并且尝试了很多方法
【问题讨论】:
-
加载了哪个版本的Xdebug?找出其中包含
<?php xdebug_info(); ?>的脚本并显示它的内容。 -
@Myrras 正如 Derick 所说——你的 Xdebug 版本是什么?您正在使用 Xdebug v2 参数。但是当前的 Xdebug 版本 v3 现在使用不同的参数名称,并且 v2 参数在 v3 上没有任何作用。 xdebug.org/docs/upgrade_guide我建议您发布
xdebug_info()输出(或phpinfo()的整个Xdebug 部分)——它将显示您当前/实时配置。我还建议您启用 Xdebug 日志——它会告诉它尝试连接的位置(当然,如果它尝试连接)以及响应是什么。顺便说一句:1)learnxdebug.com 2)youtube.com/watch?v=IN6ihpJSFDw -
xdebug_info() 不起作用@Derick 它也没有出现在 phpinfo 中。所以我认为它没有加载
-
确保你更新的是正确的
php.ini然后 - phpinfo() 会告诉你要更新哪一个,对于 CLI 和/或 Web 服务器请求可能会有所不同。 -
我寻找了同样的东西,并注意到当我使用 php -m 时它需要一个不同的 php.ini
标签: php visual-studio-code xampp xdebug