2015-10-01 2 views
36

Так выглядит новая «Защита целостности системы» lockdown of/usr (среди других каталогов) делает грушу и не содержит стартов , Кто-нибудь нашел обходное решение, чтобы отключить его?Установка штук и груши на OS X 10.11 El Capitan, macOS 10.12 Sierra, macOS 10.13 High Sierra

+0

В конце концов, я отключил его, сделал что мне нужно было сделать, а затем снова включил его. – axlotl

+1

Как вы отключите и переименуете его? – Aegis

ответ

59

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

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

Это работает на OSX El Capitan (10.11.4), спасибо! – gillytech

+0

Огромное спасибо! – Can

+0

Прохладный !! Это должно означать как ответ –

21

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

The following instructions install PEAR and PECL on Mac OS X under /usr/local/. PECL is bundled with PEAR. So this is as simple as installing PEAR on Mac OS X. 

PEAR is PHP’s Package Repository and makes it easy to download and install PHP tools like PHPUnit and XDebug. I specifically recommend these two for every PHP developer. 

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

Configure and Install PEAR 
You should now be at a prompt to configure PEAR. 

Type 1 and press return. 
Enter: /usr/local/pear 

Type 4 and press return. 
Enter: /usr/local/bin 

Press return 

Verify PEAR. You should be able to type: 

pear version 

Eventually, if you use any extensions or applications from PEAR, you may need to update PHP’s include path. 
+2

спасибо спасибо спасибо – kevando

28

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

Вы можете установить pear с помощью Homebrew:

brew install php56 --with-pear 

Примечание: Если выше команда не будет работать, убедитесь, что вы добавить кран сначала: brew tap homebrew/homebrew-php.

Примечание: Вы также можете ввести reinstall, если у вас уже есть php56.

или непосредственно загрузки пакета Phar:

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

Тогда вы должны иметь pecl и pear двоичные файлы вместе с вашим php

Если нет, слинкуем по:

brew unlink php56 && brew link php56 --dry-run && brew link php56 

И pecl вы должны иметь его вместе с php w курица установлена ​​через brew install php56. Если not, попытаться связать его вручную:

ln -vs "$(find /usr/local/Cellar/php56 -name pecl -print -quit)" /usr/local/bin 
+1

@GregoryBell Спасибо за хороший улов. Установка PHP с помощью '--with-pear' должна правильно установить грушу (в'/usr/local/opt/php56/bin/pear'). Затем 'brew link php56' свяжет свой двоичный файл с'/usr/local/bin/pear'. – kenorb

+1

Это должен быть принятый ответ. – sepehr

0

Это работает для меня, как в 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