我刚刚收到配备 M1 CPU 的新 MacBook Pro 16 英寸。一切都运行良好,但调试让我头疼。
对于本地(PHP)开发,我使用 MAMP,这样做还会安装 Xdebug。通常我也会像这样更改 Xdebug 设置:
要更改的文件:
/Applications/MAMP/conf/php[version]/php.ini
/Applications/MAMP/bin/php/php[version]/conf/php.ini
zend_extension
行(删除 ;
)xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1 # Not safe for production servers
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true
从这里获取:https://joshbuchea.com/mac-enable-xdebug-in-mamp
对于 Visual Studio Code,我使用以下设置:
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
}
在 Intel 芯片上始终 100% 运行。现在,有了 M1,就不再这样了。按 F5 启动调试器,但不会在断点处停止。
对我来说,问题是谷歌搜索告诉我 *) 芯片架构不匹配(x86/M1),我需要使用 pecl 等(对此有点新)。但我使用的是 MAMP,它已经安装了 Xdebug。
有人知道如何解决这个问题并帮助我启动并运行 Xdebug 吗?
不调试的开发是行不通的...
感谢 Derick,我看到了自己方式中的错误。非常感谢!我(再次......)尝试了几个小时才能让它工作。
也许其他人会遇到同样的问题,所以我会发布我所做的最终解决方案:
将以下内容应用于这两个文件:
Applications/MAMP/conf/php[version]/php.ini
Applications/MAMP/bin/php/php[version]/conf/php.ini
1 Locate the xdebug section at the bottom of both of these files
2 Uncomment zend_extension line in both files (remove the ;)
3 Add the following lines to the xdebug section in both files:
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_port = 9003
xdebug.client_host = "127.0.0.1"
xdebug.idekey = VSCODE
我的(调试)launch.json 文件包含以下内容:
{
"version": "0.3.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": 9003
}
]
}
现在就像一个魅力:-)
我在 Mac Mini 和 Sequoia、MAMP PRO 和 Sublime Text 3 上也遇到了同样的问题,这两周的大部分时间都让我抓狂。我已经尝试了所有建议的设置,但对我来说最重要的是......
xdebug.mode = debug,develop
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
调试、开发是让 var_dump 正常工作的一个重要标志。 MAMP 文档谈论的是 9000,而不是 9003,但它对我有用。
希望这可以帮助面临同样问题的人。
基思