Похоже, что новая 'Защита целостности системы' блокировка /usr (среди прочих каталогов) делает pear и pecl неподъемными. Кто-нибудь нашел обходной путь, кроме отключения этой защиты?
Есть гораздо более простой способ - не нужно отключать SIP или загружать собственную копию:
sudo php /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
Вы должны't установить двоичные файлы в системе в/usr, используйте
/usr/местные` вместо этого.
В по PECL
и `команды груша должна прийти с PHP при установке через самодельщик.
Вот пример установки PHP с последними доморощенного:
brew install php
или на определенную версию:
brew install [email protected]
brew install [email protected]
Чтобы найти по PECL
и груша
команд выполните:
find -L "$(brew --prefix php)" -name pecl -o -name pear
или:
find -L "$(brew --prefix [email protected])" -name pecl -o -name pear
Если вы Don'т иметь его, рекомендуется удалить предыдущие версии PHP или запустить переустановить
вместо этого.
Вы также можете попробовать переподсоединить его:
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
Также можно скачать грушевый непосредственно как пакет фар:
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
По этой ссылке: http://jason.pureconcepts.net/2012/10/install-pear-pecl-mac-os-x/ С помощью этой инструкции вам'не нужно отключать 'System Integrity Protection'
Следующие инструкции устанавливают PEAR и PECL на Mac OS X под. /usr/local/. PECL поставляется в комплекте с PEAR. Поэтому это так же просто, как установка PEAR на Mac OS X.
PEAR является репозиторием пакетов PHP и позволяет легко скачать и установить такие инструменты 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 и нажмите return.
- Enter:
/usr/local/pear
- Введите 4 и нажмите return.
- Enter:
/usr/local/bin
- Нажмите return
Проверьте PEAR.
Вы должны иметь возможность набрать:
версия pear
В конечном итоге, если вы используете какие-либо расширения или приложения из PEAR, вам >. может потребоваться обновить путь включения PHP.
На Мохаве мне пришлось выполнить следующие команды - Спасибо 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
Добавить суффикс - с-груша
для установки груши и по PECL
См. пример ниже
brew install php --with-pear
brew reinstall php --with-pear
Когда самогон используется и не связано, использовать:
brew install [email protected]
brew unlink [email protected]
$(brew --prefix [email protected])/bin/pecl
$(brew --prefix [email protected])/bin/pear
Это работало для меня, как для 10.12.1 в macOS Сьерра для обновление PHP, установка груши и 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
Высокая Сьерра установки:
Есть предустановленный пакет груш в
/usr/local/opt/php@<your_version>/bin
оттуда вы можете запустить
pecl install xdebug
и вы должны работать на PHP бинарные с дебаггером xdebug.
Вот ссылка на статью Macworld, в которой описывается, как включать и отключать 'System Integrity Protection.'