Ответ 1
Добавьте этот репозиторий: 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
Я как бы новичок в использовании 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, но все же сообщения в Интернете, похоже, указывают на это.
Добавьте этот репозиторий: 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
Поскольку homebrew удалил дополнительный репозиторий php, содержащий версию с уже установленной xdebug, вы должны установить ее вручную.
Резюме:
brew install
для phppecl install
для xdebugПолный пример:
# update homebrew
brew update
# install a version of php, e.g. 7.0
brew install [email protected]
# now they tell you how to link it, in my case
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/[email protected]/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/[email protected]/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/[email protected]/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
.
Забудьте о homebrew на мгновение. Я пробовал делать с ним, и это не такая хорошая идея, как стабильность. Вместо этого используйте руководство по установке по умолчанию:
Распакуйте загруженный файл с помощью
tar -xvzf xdebug-2.2.5.tgz
Запуск:
cd xdebug-2.2.5
Запустите phpize (установите его через homebrew, если у вас его еще нет)
phpize
Как часть своего вывода, он должен показать (если это не так, вы используете неправильный phpize):
Настройка для:...
Zend Module Api No: 20100525
Расширение Zend 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
Обновлено: 09-10-2019
Для PHP 5.6 & 7.0 (больше не в варочном сердечнике)
brew tap exolnet/homebrew-deprecated
Использовать пакет brew в комплекте (если php установлен вместе с brew)
Пример PHP 5.6
brew install [email protected]
$(brew --prefix [email protected])/bin/pecl install --force xdebug-2.5.5
Пример PHP 7.0
brew install [email protected]
$(brew --prefix [email protected])/bin/pecl install --force xdebug
Пример PHP 7.1
brew install [email protected]
$(brew --prefix [email protected])/bin/pecl install --force xdebug
Пример PHP 7.2
brew install [email protected]
$(brew --prefix [email protected])/bin/pecl install --force xdebug
Пример PHP 7.3
brew install [email protected]
$(brew --prefix [email protected])/bin/pecl install --force xdebug
или сначала свяжись с варевом
Пример PHP 5.6
brew install [email protected]
brew link --force [email protected]
pecl install --force xdebug-2.5.5
brew unlink [email protected]
Пример PHP 7.0
brew link --force [email protected]
pecl install --force xdebug
brew unlink [email protected]
Пример PHP 7.1
brew link --force [email protected]
pecl install --force xdebug
brew unlink [email protected]
Пример PHP 7.2
brew link --force [email protected]
pecl install --force xdebug
brew unlink [email protected]
Пример PHP 7.3
brew link --force [email protected]
pecl install --force xdebug
brew unlink [email protected]
Если php -v выдает ошибку, в которой говорится, что xdebug.so не может быть найден (при условии, что установка pecl прошла успешно), у вас могут быть "старые" настройки, такие как php.ini Un-, а переустановка php с помощью brew - нет. удалить INI файлы. Обновление php до нового формата не обновляет ini файлы. Просто переустановите php с помощью brew после удаления папки /usr/local/etc/php/5.6/, и xdebug должен работать.
Новая установка brew php не связывает. Вы можете сделать это самостоятельно, если хотите (brew link --force [email protected]). Также вы можете установить 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 [email protected]
Я нашел эту страницу в то время как googling, как установить xdebug для php 7.1
на osx, и я решил оставить здесь свое решение:
brew install homebrew/php/php71-xdebug
Возможно, это будет полезно для кого-то еще в будущем...
Это мое решение! Попытайся! ;)
1 Установите инструменты разработчика:
xcode-select --install
2 Instal Autoconf. Это инструмент для создания сценариев оболочки, которые автоматически настраивают программное обеспечение
brew install autoconf
3 Если вы используете PHP> 5.6
sudo pecl install xdebug
Повеселись ;)
Похоже, что репо переместилось, но доступно здесь, в комплекте о том, как получить доступ к нему из Homebrew.
Это помогло мне решить версию Zend, а для xdebug Xdebug требуется версия Zend Engine API 320160303. Установленная версия Zend Engine API 320180731 является более новой.
Начиная с 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
Если вы получили эту ошибку после добавления крана и установки:
$ 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
Смотрите источник этого решения, чтобы исправить любые другие связанные с этим ошибки.