Jak zainstalować PHP, Pear, PECL i APC z Homebrew na Mac OS X?

13

Próbuję zainstalować APC dla PHP 5.3 w najprostszy możliwy sposób. Uwielbiam Homebrew, więc zacząłem tą drogą. Byłem w stanie zainstalować PHP 5.3.6 za pomocą tego polecenia:

brew install https://github.com/adamv/homebrew-alt/raw/master/duplicates/php.rb --with-mysql

Myślę, że to powinno zainstalować PHP, Pear i PECL. Wygląda na to, że dobrze je instaluje.

Teraz, gdy próbuję zainstalować APC:

$ pecl install apc
downloading APC-3.1.9.tgz ...
Starting to download APC-3.1.9.tgz (155,540 bytes)
.................................done: 155,540 bytes

Warning: require_once(Archive/Tar.php): failed to open stream: No such file or directory in PackageFile.php on line 305

Warning: require_once(Archive/Tar.php): failed to open stream: No such file or directory in /usr/local/Cellar/php/5.3.6/lib/php/PEAR/PackageFile.php on line 305

Fatal error: require_once(): Failed opening required 'Archive/Tar.php' (include_path='/usr/local/Cellar/php/5.3.6/lib/php') in /usr/local/Cellar/php/5.3.6/lib/php/PEAR/PackageFile.php on line 305

Jak mogę to naprawić?

Andrzej
źródło

Odpowiedzi:

9

Teraz homebrew-phpzostał migrowany do homebrew-corei domyślnie, PECL powinien zostać zainstalowany razem z twoim PHP.

Oto sugerowane kroki:

  1. Ponowna instalacja PHP poprzez: brew install php.
  2. Sprawdź peclkomendę: which -a pecl.

Aby zobaczyć, które zostały zainstalowane pliki, zob brew list php.

Aby zainstalować rozszerzenia PHP, musisz użyć PECL jako zalecanego sposobu.

Wraz z migracją do Homebrew-core formuła php przestała przejmować rolę PECL. Instalowanie xdebug może (i powinno) odbywać się za pomocą PECL. Źródło: GH-26007

Na przykład: pecl install apclub pecl install xdebug.

Jeśli masz problem z instalacją rozszerzenia, musisz zgłosić to jego opiekunowi. Sprawdź stronę PECL, aby uzyskać więcej informacji.

kenorb
źródło
2

pecli pearsą dostarczane z wersją PHP Homebrew:

brew install php
pecl install apcu

Jeśli jesteś zmęczony pecli pearsą dostarczane przez php, spróbuj tego:

ls -al $(which pecl)
ls -al $(which pear)

Obie lokalizacje powinny dowiązać symbolicznie do Cellar/php/...

Uwaga, macOS zapewnia wersję php, która jest generalnie za wersją Homebrew. Aby upewnić się, że korzystasz z wersji Homebrew, przedrostek phppoleceń $(brew --prefix php)/bin.

Przykład dla kompozytora:

$(brew --prefix php)/bin/php composer.phar install

Powodem tego jest to, że popularne rozszerzenia - takie jak ext-intli ext-gettextsą dostarczane automatycznie i naprawią je automatycznie.

Uwaga, do php-fpmużytku brew reinstall php --with-fpm. php-fpmŚcieżka będzie ... $(brew --prefix php)/sbin/php-fpm.

tresf
źródło
1

Poniższe polecenie powinno pomóc

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
Gampesh
źródło
0

Strona GitHub PHP firmy Homebrew mówi, że:

Gruszka nie jest już domyślnie kompilowana, zamiast tego musisz zainstalować php z opcją --with-pear, na przykład: brew install php56 --with-pear.

Tak więc, aby PHP 7.0 działał, użyj następującego polecenia instalacyjnego:

brew install php70 --with-pear

Możesz oczywiście używać tego również z innymi wersjami PHP.

Markus
źródło
0

Nie musisz instalować apc.
Poprostu dodaj

apc.enabled=on
apc.shm_size=64M
apc.enable_cli=on

do ciebie php.inii upewnij się, że twoje apcu jest w porządku.

użytkownik1067715
źródło