无法使用Homebrew在Mac上安装xdebug

seh*_*mel 42 homebrew xdebug

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

brew install xdebug
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我明白了:Error, no available formula.

我做了brew search xdebug,它回来了:

josegonzalez/php/php53-xdebug    josegonzalez/php/php54-xdebug
Run Code Online (Sandbox Code Playgroud)

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

小智 77

添加此存储库: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

  • 适用于php5.5(测试):`brew install php55-xdebug` (5认同)
  • 使用自制软件,[iInstall PHP 5.6](http://stackoverflow.com/a/26505558/698511),然后`brew install php56-xdebug` (4认同)
  • 如何将存储库添加到brew中? - brew tap josegonzalez/homebrew-php (3认同)
  • 不再适用于正弦冲煮版本1.6.0 (3认同)

luc*_*ald 21

当自制软件删除了包含已安装xdebug的版本的额外php存储库时,您必须手动安装它.

摘要:

  1. brew install 对于PHP
  2. 更新你的路径
  3. pecl install 对于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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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

  • [mkdir()](https://patriqueouimet.ca/tip/installing-php-and-pecl-extensions-on-macos) 可能会失败,并显示“构建过程成功完成安装”/usr/local/Cellar/php@ 7.4/7.4.26_1/pecl/20190902/xdebug.so'警告:mkdir():文件存在于 System.php 的第 294 行`。对我来说,目录“pecl”是指向不存在的目录的符号链接。使用“rm”删除此符号链接,然后再次使用“pecl”安装。 (3认同)
  • 这种使用“pecl”的安装方法有效 - 而 Placeholder 的方法(来自 xdebug.org 说明)没有。谢谢! (2认同)
  • 您可能必须运行 mkdir 并创建 /usr/local/Cellar/php@7.0/7.0.30/pecl/20151012 文件夹。我创建了它们并且它工作了 xdebug.so 在路径上成功安装。 (2认同)

Pla*_*der 14

暂时忘掉自制软件吧.我已经尝试过这样做,这不是一个好主意稳定性.而是坚持默认安装指南:

在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(如果你还没有安装它,请通过自制软件安装)

    phpize

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

    配置:...
    Zend模块Api No:20100525
    Zend Extension Api No: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

  • 我知道我正在挖掘一个旧帖子,但为什么你会告诉他无视他的包管理员并可能搞砸他已经到位的配置?他只是需要进入homebrew/php并在使用brew安装时选择他的版本.这不仅是糟糕的建议,而且有潜在危险.用你的方法更新更麻烦,更难.虽然知道如何编译和制作自己的软件包很好,但软件包管理器是出于明确原因而制作的. (7认同)

Mik*_*ike 8

更新日期:09-10-2019

对于PHP 5.6和7.0(在brew core中不再可用)

brew tap exolnet/homebrew-deprecated
Run Code Online (Sandbox Code Playgroud)

使用brew bundle pecl(当brew附带安装php时)

PHP 5.6示例

brew install php@5.6
$(brew --prefix php@5.6)/bin/pecl install --force xdebug-2.5.5
Run Code Online (Sandbox Code Playgroud)

PHP 7.0示例

brew install php@7.0
$(brew --prefix php@7.0)/bin/pecl install --force xdebug
Run Code Online (Sandbox Code Playgroud)

PHP 7.1示例

brew install php@7.1
$(brew --prefix php@7.1)/bin/pecl install --force xdebug
Run Code Online (Sandbox Code Playgroud)

PHP 7.2示例

brew install php@7.2
$(brew --prefix php@7.2)/bin/pecl install --force xdebug
Run Code Online (Sandbox Code Playgroud)

PHP 7.3示例

brew install php@7.3
$(brew --prefix php@7.3)/bin/pecl install --force xdebug
Run Code Online (Sandbox Code Playgroud)

或先与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
Run Code Online (Sandbox Code Playgroud)

PHP 7.0示例

brew link --force php@7.0
pecl install --force xdebug
brew unlink php@7.0
Run Code Online (Sandbox Code Playgroud)

PHP 7.1示例

brew link --force php@7.1
pecl install --force xdebug
brew unlink php@7.1
Run Code Online (Sandbox Code Playgroud)

PHP 7.2示例

brew link --force php@7.2
pecl install --force xdebug
brew unlink php@7.2
Run Code Online (Sandbox Code Playgroud)

PHP 7.3示例

brew link --force php@7.3
pecl install --force xdebug
brew unlink php@7.3
Run Code Online (Sandbox Code Playgroud)

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

新的brew php安装未链接。如果您想(浏览链接--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
Run Code Online (Sandbox Code Playgroud)

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

brew services restart php@7.0
Run Code Online (Sandbox Code Playgroud)


Vla*_*pak 6

我已经找到了这个网页,而谷歌搜索如何安装用于php 7.1,我已经决定离开这里我的解决方案:

brew install homebrew/php/php71-xdebug
Run Code Online (Sandbox Code Playgroud)

也许它对将来的其他人有帮助......

  • 正常的命令`brew install php72-xdebug`对我来说不起作用.使用全名工作.谢谢 (2认同)
  • 我真的希望人们停止在自制软件中移动东西...$brew install homebrew/php/php71-xdebug 错误:homebrew/php 已弃用。该水龙头现在是空的,因为它的所有公式都已迁移。 (2认同)

小智 5

Big Sur 上 php8 的 Xdebug

php8 之前是随brew 安装的。

~ % pecl install xdebug
ERROR: `phpize' failed
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

~ % xcrun --show-sdk-path 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
Run Code Online (Sandbox Code Playgroud)

这样更好!现在返回并再次尝试 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
Run Code Online (Sandbox Code Playgroud)

并检查它是否有效:

~ % 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
Run Code Online (Sandbox Code Playgroud)

  • 我收到此错误:构建过程成功完成安装'/usr/local/Cellar/php/8.0.3/pecl/20200930/xdebug.so'警告:mkdir():文件存在于System.php第294行PHP警告: mkdir(): 文件存在于 /usr/local/Cellar/php/8.0.3/share/php/pear/System.php 第 294 行 警告:mkdir(): 文件存在于 /usr/local/Cellar/php/ 8.0.3/share/php/pear/System.php 第 294 行错误:无法 mkdir /usr/local/Cellar/php/8.0.3/pecl/20200930 (4认同)