我对使用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的任何内容,但网上的帖子似乎表明它是可能的。
答案 0 :(得分:77)
添加此存储库:https://github.com/josegonzalez/homebrew-php#readme
然后使用brew install php54-xdebug
进行PHP 5.4
或brew install php53-xdebug
或brew install php55-xdebug
答案 1 :(得分:14)
暂时忘掉 homebrew 。我已经尝试过这样做,这不是一个好主意稳定性。而是坚持默认安装指南:
使用以下命令解压缩下载的文件:
<强> tar -xvzf xdebug-2.2.5.tgz
强>
运行:
<强> cd xdebug-2.2.5
强>
运行 phpize (如果您还没有,请通过自制程序安装)
phpize
作为其输出的一部分,它应该显示(如果没有,则使用错误的phpize):
配置:...
Zend Module Api No:20100525
Zend Extension Api No:220100525
运行:
<强> ./configure
强>
运行:
<强> make
强>
运行:
<强> cp modules/xdebug.so /usr/lib/php/extensions/no-debug-non-zts-20100525
强>
编辑/etc/php.ini并添加以下行:
zend_extension = /usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so
输入终端重启网络服务器:
<强> sudo apachectl restart
强>
答案 2 :(得分:13)
当自制软件删除了包含已安装xdebug的版本的额外php存储库时,您必须手动安装它。
要点:
brew install
for php pecl install
for 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.so
中启用php.ini
。
答案 3 :(得分:6)
我在xdebug上搜索如何为 select ...
from MyTable
order by case -- Closed should be in the end
when Status = 10 then -- Put the right constant for Closed here
1
else
0
end,
Status -- if Status is not "Closed", order by Status
安装osx时找到了此页面,我决定将此解决方案留在此处:
php 7.1
将来可能对其他人有帮助......
答案 4 :(得分:6)
使用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
PHP 7.0示例(7.0现在是EOL,而在brew core中默认不是)
git -C "$(brew --repo homebrew/core)" fetch --unshallow
git -C "$(brew --repo homebrew/core)" checkout 7e111a877^
HOMEBREW_NO_AUTO_UPDATE=1 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不起作用(还)需要xdebug 2.7.0
或链接
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示例
git -C "$(brew --repo homebrew/core)" fetch --unshallow
git -C "$(brew --repo homebrew/core)" checkout 7e111a877^
HOMEBREW_NO_AUTO_UPDATE=1 brew install 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不起作用(还)需要xdebug 2.7.0
如果php -v给您一个错误,指出找不到xdebug.so(假设pecl安装顺利),那么您可能具有“旧”设置,例如php.ini。取消/重新安装brew并不会删除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
请记住,如果您将php作为服务加载,则必须重新启动该服务。
答案 5 :(得分:3)
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
答案 6 :(得分:1)
这是我的解决方案!尝试一下! ;)
1安装开发人员工具:
xcode-select --install
2安装自动配置。这是用于生成可自动配置软件的Shell脚本的工具
brew install autoconf
3如果您使用PHP> 5.6
sudo pecl install xdebug
玩得开心;)
答案 7 :(得分:0)
看起来回购已移动,但可以使用here完成,instructions如何从Homebrew访问它。
答案 8 :(得分:0)
它帮助我解决了zend版本和xdebug Xdebug需要Zend Engine API版本320160303。 已安装的Zend Engine API版本320180731是较新的。
答案 9 :(得分:0)
从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
答案 10 :(得分:0)
following article中给出的描述是我可以在带有Homebrew的macOS 10.14 Mojave上使用xdebug安装PHP 7.3的唯一方法:
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"
答案 11 :(得分:0)
截至 2021 年 5 月,通过 Homebrew 安装 PHP 后,只需运行:
pecl install xdebug
您需要按照上述答案安装 XCode。
涉及其他 brew 存储库或 php74-*
包命名空间的其他答案基于 Homebrew 使用 PHP 的旧方式。
答案 12 :(得分:-1)
如果在添加点击并安装后出现此错误:
$ 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 ,因此您将面临之前的错误。
这个想法非常简单,删除旧的已弃用的回购 josegonzalez / php
brew untap josegonzalez/php
brew tap --repair
brew update
请参阅此解决方案的source以修复任何其他相关错误。