55

我对使用 Homebrew 有点陌生,但我喜欢它。它是如此容易。我正在尝试安装 Xdebug。网络上的一些帖子说要这样做:

brew install xdebug

但它不起作用。我得到:Error, no available formula.

我做到了brew search xdebug,它返回了:

josegonzalez/php/php53-xdebug    josegonzalez/php/php54-xdebug

我尝试了几种不同的迭代,brew install包括brew install php53-xdebug,但仍然没有运气。有人能帮我吗?我在 Xdebug 的网站上找不到任何关于使用 Homebrew 的信息,但网络上的帖子似乎表明这是可能的。

4

14 回答 14

86

// 从 2021 年开始工作

由于自制软件删除了包含已安装 xdebug 版本的额外 php 存储库,因此您必须手动安装它。

概括:

  1. brew install <php version>为 php
  2. 更新你的路径
  3. pecl install xdebug对于 xdebug

完整示例:

# update homebrew
brew update

# install a version of php, e.g. 7.0
brew install php@7.0

# now they tell you how to link it, in my case
echo 'export PATH="/usr/local/opt/php@7.0/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.0/sbin:$PATH"' >> ~/.bash_profile

# reload the file with the updated path, so we can use pecl
source ~/.bash_profile

# check that the path is to the correct php executable,
# and pecl is available
which pecl
# returns: /usr/local/opt/php@7.0/bin/pecl

# install xdebug, see https://xdebug.org/docs/install#pecl
pecl install xdebug

# check that everything worked
php --version
# should show a xdebug version
# like:  with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

上述pecl install xdebug步骤以

Build process completed successfully
Installing '/usr/local/Cellar/php@7.0/7.0.30/pecl/20151012/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.6.0
Extension xdebug enabled in php.ini

所以我什至不需要启用xdebug.soin php.ini



如果您需要特殊版本xdebug(例如您的 IDE 不喜欢这些3.x.x版本),您可以安装特定版本xdebug-$VERSION,例如pecl install xdebug-2.9.8. 您可以在可用版本列表中找到它们(感谢Bower

于 2018-05-04T18:32:43.353 回答
75

添加此存储库:https ://github.com/josegonzalez/homebrew-php#readme

然后brew install php54-xdebug用于 PHP 5.4

或者brew install php53-xdebug对于 PHP 5.3

或者brew install php55-xdebug对于 PHP 5.5

于 2013-06-18T21:55:52.460 回答
16

暂时忘掉自制软件吧。我已经尝试过使用它,但在稳定性方面并不是一个好主意。而是坚持使用默认安装指南:

在 Mac OSX 上安装 XDebug

  1. 转到http://xdebug.org/wizard.php并将您的 phpinfo() 内容粘贴到那里。
  2. 下载 xdebug-2.2.5.tgz ( http://xdebug.org/files/xdebug-2.2.5.tgz )
  3. 解压下载的文件:

    tar -xvzf xdebug-2.2.5.tgz

  4. 跑:

    cd xdebug-2.2.5

  5. 运行phpize (如果你还没有的话,可以通过 homebrew 安装)

    phpize

  6. 作为其输出的一部分,它应该显示(如果没有,您使用了错误的 phpize):

    配置: ...
    Zend 模块 Api 编号:20100525
    Zend 扩展 Api 编号:220100525

  7. 跑:

    ./configure

  8. 跑:

    make

  9. 跑:

    cp modules/xdebug.so /usr/lib/php/extensions/no-debug-non-zts-20100525

  10. 编辑 /etc/php.ini 并添加以下行:

    zend_extension = /usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so

  11. 通过在终端中键入重新启动 Web 服务器:

    sudo apachectl restart

于 2014-08-28T17:27:06.107 回答
14

更新时间:2019 年 9 月 10 日

对于 PHP 5.6 和 7.0(不再在 brew 核心中)

brew tap exolnet/homebrew-deprecated

使用 brew 捆绑的 pecl (当 php 与 brew 一起安装时)

PHP 5.6 示例

brew install php@5.6
$(brew --prefix php@5.6)/bin/pecl install --force xdebug-2.5.5

PHP 7.0 示例

brew install php@7.0
$(brew --prefix php@7.0)/bin/pecl install --force xdebug

PHP 7.1 示例

brew install php@7.1
$(brew --prefix php@7.1)/bin/pecl install --force xdebug

PHP 7.2 示例

brew install php@7.2
$(brew --prefix php@7.2)/bin/pecl install --force xdebug

PHP 7.3 示例

brew install php@7.3
$(brew --prefix php@7.3)/bin/pecl install --force xdebug

或先与 brew 链接

PHP 5.6 示例

brew install php@5.6
brew link --force php@5.6
pecl install --force xdebug-2.5.5
brew unlink php@5.6

PHP 7.0 示例

brew link --force php@7.0
pecl install --force xdebug
brew unlink php@7.0

PHP 7.1 示例

brew link --force php@7.1
pecl install --force xdebug
brew unlink php@7.1

PHP 7.2 示例

brew link --force php@7.2
pecl install --force xdebug
brew unlink php@7.2

PHP 7.3 示例

brew link --force php@7.3
pecl install --force xdebug
brew unlink php@7.3

如果 php -v 给您一个错误,说明找不到 xdebug.so(假设 pecl 安装顺利),那么您可能有“旧”设置,例如 php.ini 使用 brew 卸载/重新安装 php 不会删除 ini 文件。将 php 升级到新格式不会更新 ini 文件。删除文件夹 /usr/local/etc/php/5.6/ 后,只需使用 brew 重新安装 php,xdebug 应该可以工作。

新的 brew php 安装没有链接。如果您愿意,您可以自己执行此操作(brew link --force php@5.6)您也可以安装 brew-php-switcher 在版本之间切换。

brew install brew-php-switcher
brew-php-switcher 5.6 -s
php -v
brew-php-switcher 7.0 -s
php -v

请记住,如果您将 php 作为服务加载,则必须重新启动该服务。

brew services restart php@7.0
于 2018-09-20T19:53:32.293 回答
6

我在谷歌搜索如何在上安装时发现了这个页面,我决定在这里留下我的解决方案:php 7.1

brew install homebrew/php/php71-xdebug

也许它会在未来对其他人有所帮助......

于 2017-12-28T07:11:23.027 回答
5

Big Sur 上的 Xdebug for php8

php8 以前随 brew 一起安装。

~ % pecl install xdebug
ERROR: `phpize' failed

哎哟! 检查 xcrun。谢谢路易斯·查雷特:

~ % xcrun --show-sdk-path
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

错误。更新 Xcode。我刚刚安装并重新测试:

~ % xcode-select --install
xcode-select: note: install requested for command line developer tools

~ % xcrun --show-sdk-path 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

这样更好!现在返回并再次尝试 pecl:

~ % pecl install xdebug
...
Build process completed successfully
Installing '/usr/local/Cellar/php/8.0.0_1/pecl/20200930/xdebug.so'
install ok: channel://pecl.php.net/xdebug-3.0.2
Extension xdebug enabled in php.ini

并检查它是否有效:

~ % php -v
PHP 8.0.0 (cli) (built: Nov 30 2020 13:51:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
    with Xdebug v3.0.2, Copyright (c) 2002-2021, by Derick Rethans
    with Zend OPcache v8.0.0, Copyright (c), by Zend Technologies
于 2021-02-13T14:34:02.033 回答
2

这是我的解决方案!尝试一下!;)

1 安装开发者工具:

xcode-select --install

2 安装自动配置。这是一个用于生成自动配置软件的 shell 脚本的工具

brew install autoconf

3 如果你使用 PHP >5.6

sudo pecl install xdebug

玩得开心 ;)

于 2018-08-09T08:57:40.710 回答
1

卡塔利娜

从 Catalina (Mac OS 10.15) 开始 PHP 似乎已预先安装(检查php -v)它可以与 xcode 或其他软件一起安装(我不确定)但我昨天刚安装了 Catalina,还没有安装 Homebrew xdebug 也可用。我只需要重命名/etc/php.ini.default并添加这一行

zend_extension = /usr/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so
于 2019-10-21T08:19:04.813 回答
1

macOS 10.14 Mojave,自制软件,PHP 7.3,2020 年 4 月

以下文章中给出的描述是我唯一可以在 macOS 10.14 Mojave 上使用 Homebrew 安装 PHP 7.3 和工作 xdebug:

brew list | grep php | awk '{ print "brew uninstall --force "$1}' | bash        # Remove any old version of php.
rm -rf /usr/local/Cellar/php                                                    # To be sure, manually remove the php cellar folder.
brew untap homebrew/php                                                         # Then clean any php tap (extra repo).
brew cleanup                                                                    # Cleanup and Update your brew.
brew update
brew install php                                                                # Install the latest version of php.
pecl uninstall xdebug                                                           # Clean up old xdebug.
pecl install xdebug-beta                                                        # Install the latest version of xdebug-beta (The xdebug is not compatible with 7.3 so you need to use the xdebug-beta).
php -v                                                                          # Should now say "with Xdebug v2.9.4, Copyright (c) 2002-2020, by Derick Rethans"
于 2020-04-02T23:58:49.410 回答
0

看起来 repo 已移动,但可在此处获得,并附有有关如何从 Homebrew 访问它的说明。

于 2012-10-03T15:48:33.867 回答
0

如果在添加水龙头并安装后出现此错误:

$ brew install "josegonzalez/php/php55"
==> Installing php55 from josegonzalez/php
Error: Formulae found in multiple taps: 
 * homebrew/php/php53
 * josegonzalez/php/php53

Please use the fully-qualified name e.g. homebrew/php/php53 to refer the formula.

这是因为 josegonzalez/php最近被移到了homebrew-php/php,所以你会遇到之前的错误。

这个想法很简单,删除旧的弃用 repo josegonzalez/php

brew untap josegonzalez/php
brew tap --repair
brew update

请参阅此解决方案的来源以修复任何其他相关错误。

于 2016-03-30T13:38:24.973 回答
0

它帮助我解决了 zend 版本和 xdebug Xdebug 需要 Zend Engine API 版本 320160303。安装的 Zend Engine API 版本 320180731 更新。

https://xdebug.org/wizard.php

于 2019-07-12T09:57:45.107 回答
0

截至 2021 年 5 月,通过 Homebrew 安装 PHP 后,只需运行以下命令:

pecl install xdebug

您需要安装 XCode,如上面的答案所示。

涉及其他 brew 存储库或php74-*包名称空间的其他答案基于 Homebrew 使用 PHP 的旧方式。

于 2021-05-08T05:58:15.623 回答
0

改进的 MacOS 答案

如果您已按照官方文档中的说明进行操作,并且无法使用 php -v 命令查看 XDebug 信息而出现错误,那么您应该执行的最后一步如下:

  1. 转到您在所述路径中创建的 99-xdebug.ini 文件并添加以下行:

zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so"

(仍然错误?检查您的 xdebug.so 路径是否有效)

  1. 保存更改后,使用以下命令重新启动 php:

brew services restart php@7.3 (用你的 php 版本更改 7.3)

  1. 然后检查您现在是否可以使用 php -v 命令查看 XDebug 信息。

注意:99-xdebug.ini 的“描述路径”类似于:

/usr/local/etc/php/7.3/conf.d(用你的php版本更改7.3)

可以肯定的是,输入 php --ini 命令。

于 2021-12-27T06:03:57.067 回答