Подтвердить что ты не робот

Установка pecl и pear на OS X 10.11 El Capitan, macOS 10.12 Sierra, macOS 10.13 High Sierra (<10.13.3)

Итак, похоже, что новая защита "System Integrity Protection" lockdown/usr (среди других каталогов) делает грушу и не имеет значения. Кто-нибудь нашел обходное решение, чтобы отключить его?

4b9b3361

Ответ 1

Там намного проще - нет необходимости отключать SIP или загружать собственную копию:

sudo php /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin

Ответ 2

Вы не должны устанавливать двоичные файлы в system /usr, вместо этого используйте /usr/local.


pecl и pear должны поставляться вместе с PHP при установке через Homebrew.

Вот пример установки PHP с последней версией Homebrew:

brew install php

или конкретная версия:

brew install [email protected]
brew install [email protected]

Чтобы найти команды pecl и pear, выполните:

find -L "$(brew --prefix php)" -name pecl -o -name pear

или же:

find -L "$(brew --prefix [email protected])" -name pecl -o -name pear

Если у вас его нет, рассмотрите возможность удаления предыдущей версии PHP или вместо этого запустите reinstall.

Вы также можете попытаться заново связать его:

brew unlink [email protected] && brew link [email protected] --dry-run && brew link --overwrite --force [email protected]

В противном случае, свяжите это вручную:

ln -vs "$(find -L "$(brew --prefix [email protected])/bin" -name pecl)" /usr/local/bin
ln -vs "$(find -L "$(brew --prefix [email protected])/bin" -name pear)" /usr/local/bin

В качестве альтернативы скачайте Pear прямо как пакет Phar:

curl -o /usr/local/bin/pear http://pear.php.net/go-pear.phar
chmod +x /usr/local/bin/pear

или со следующим однострочником (будет работать в Linux, но не в Unix):

curl -sL http://pear.php.net/go-pear.phar | sudo install -v -m755 /dev/stdin /usr/local/bin/pear

Ответ 3

По этой ссылке: http://jason.pureconcepts.net/2012/10/install-pear-pecl-mac-os-x/ С помощью этих инструкций вам не нужно отключать "Защита целостности системы"

Следующие инструкции устанавливают PEAR и PECL на Mac OS X в /usr/local/. PECL в комплекте с грушей. Так что это так же просто, как установить PEAR на Mac OS X.

PEAR является репозиторием пакетов PHPs и позволяет легко загружать и устанавливать инструменты PHP, такие как PHPUnit и XDebug. Я специально рекомендую эти два для каждого разработчика PHP.

Скачать PEAR

curl -O https://pear.php.net/go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar

Сконфигурируйте и установите PEAR

Теперь вы должны быть в состоянии настроить PEAR.

  1. Введите 1 и нажмите return.
  2. Войти:

    /usr/local/pear
    
  3. Введите 4 и нажмите return.

  4. Войти:

    /usr/local/bin
    
  5. Нажмите return

Проверьте грушу.

Вы должны быть в состоянии напечатать:

pear version

В конце концов, если вы используете какие-либо расширения или приложения из PEAR, вам может потребоваться обновить путь к PHP.

Ответ 4

На Mohave мне пришлось запустить следующие команды - спасибо, перейдите на https://tobschall.de/2018/08/07/pear-on-mojave/

cd /tmp
curl -s -O https://pear.php.net/install-pear-nozlib.phar
sudo php install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin

Ответ 5

Добавьте суффикс --with-pear для установки груши и pecl
См пример ниже

brew install php --with-pear
brew reinstall php --with-pear

Ответ 7

Это работало для меня как MacOS Sierra 10.12.1 для обновления PHP, установки PEAR и V8

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php

phpversion="$(php -v | tail -r | tail -n 1 | cut -d " " -f 2 | cut -c 1,3)"
brew unlink php$phpversion

brew install php71
brew install autoconf

curl -O  http://pear.php.net/go-pear.phar
php -d detect_unicode=0 go-pear.phar

echo -e "\nexport PATH=$HOME/pear/bin:$PATH \n"

source ~/.bash_profile

echo -e "\ninclude_path = '.:/Users/YOURUSERNAME/pear/share/pear/' \nextension=v8js.so \n" >> /usr/local/etc/php/7.1/php.ini

git clone https://github.com/phpv8/v8js ~/tmp/v8js && cd $_
./configure CXXFLAGS="-Wno-c++11-narrowing"
make
make test
make install

sudo apachectl restart

Ответ 8

Высокая Сьерра установка:

  • установить Brew
  • установить PHP с Brew

Есть предустановленный грушевый пакет в

/usr/local/opt/[email protected]<your_version>/bin

оттуда вы можете бежать

pecl install xdebug

и у вас должен быть рабочий бинарный PHP с Xdebug.

Ответ 10

Для MacOS Mojave 10.14.4 просто используйте /local вместо /usr, когда вас спрашивают о расположении "База установки ($ prefix)".