Xdebug + MAMP 不工作(macOS Monterey + M1 CPU)

问题描述 投票:0回答:2

我刚刚收到配备 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
  1. 在这两个文件的底部找到 xdebug 部分
  2. 取消注释两个文件中的
    zend_extension
    行(删除
    ;
  3. 将以下行添加到两个文件中的 xdebug 部分:
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 吗?

不调试的开发是行不通的...

*)https://crossrt.me/install-php-xdebug-on-m1-macbook-pro/

Xdebug 在 Mac m1 上安装失败

macos xdebug mamp apple-m1
2个回答
5
投票

感谢 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
        }
    ]
} 

现在就像一个魅力:-)


0
投票

我在 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,但它对我有用。

希望这可以帮助面临同样问题的人。

基思

© www.soinside.com 2019 - 2024. All rights reserved.