2016-09-21 16 views
5

Próbuję instalacyjnego laravel za Valet, które w zależności, wymaga PHP 7. Kiedy próbuję zainstalować PHP 7 z Homebrew pojawia się następujący błąd:Nie można zainstalować PHP 7 z Homebrew na MacOS Sierra

Configuring SAPI modules 
checking for Apache 2.0 handler-module support via DSO through APXS... 

Sorry, I cannot run apxs. Possible reasons follow: 

1. Perl is not installed 
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs 
3. Apache was not built using --enable-so (the apxs usage page is displayed) 

The output of /usr/sbin/apxs follows: 
apxs:Error: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/apr-1-config not found!. 

configure: error: Aborting 

READ THIS: https://git.io/brew-troubleshooting 
If reporting this issue please do so at (not Homebrew/brew): 
    https://github.com/Homebrew/homebrew-php/issues 

These open issues may also help: 
php70-dbase https://github.com/Homebrew/homebrew-php/issues/3508 
php70-intl not found https://github.com/Homebrew/homebrew-php/issues/3591 
php70-opcache install issue https://github.com/Homebrew/homebrew-php/issues/3586 
Problem installing php70-mcrypt, php70-opcache, php70-xdebug on El Capitan https://github.com/Homebrew/homebrew-php/issues/3587 
Add php70-zmq formula https://github.com/Homebrew/homebrew-php/pull/3474 
Problem installing homebrew/php/php70-imagick https://github.com/Homebrew/homebrew-php/issues/3571 
Install PHP70: Incompatible library version https://github.com/Homebrew/homebrew-php/issues/3444 
brew install php70-redis https://github.com/Homebrew/homebrew-php/issues/2762 
Allow --enable-redis-igbinary for php70-redis https://github.com/Homebrew/homebrew-php/pull/3473 
Add head formula for php70-uploadprogress https://github.com/Homebrew/homebrew-php/pull/3178 

To jest na świeżej instalacji macOS Sierra (wersja aktualna, nie beta) ze świeżą instalacją Homebrew (zaktualizowano). Zainstalowałem, uruchomiłem i zaakceptowałem umowę licencyjną Xcode.

Nie mam pojęcia, co oznaczają te błędy i jak je naprawić. Czy ktoś może zaoferować pomoc?

Dzięki.

Odpowiedz

9

Dobrze, wymyśliłem to. Zamieszczam kroki, aby pomyślnie zainstalować wymagane komponenty poniżej, na wypadek gdyby ktoś inny natknął się na ten problem:

1). upewnij się, że Homebrew jest aktualny:

brew update 

2). Napraw błąd PHP 7, upewniając się, że zainstalowany jest Xcode, a następnie wpisując w Terminalu:

brew install apr apr-util 
sudo mkdir -p /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/ 
sudo ln -s /usr/local/opt/apr/bin/apr-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/ 
sudo ln -s /usr/local/opt/apr-util/bin/apu-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/ 

3). Uruchom następującą komendę (w przeciwnym razie instalacja PHP będzie skarżyć się na brakującą libz):

xcode-select --install 

4). Teraz można zainstalować PHP 7 z Homebrew:

brew install homebrew/php/php70 
1

użyłem następujące polecenia, aby to działało.

brew tap homebrew/dupes 
brew tap homebrew/versions 
brew tap homebrew/homebrew-php 
brew update && brew install apr apr-util 
brew link apr-util --force 
brew link apr --force 
which apu-1-config 
which apr-1-config 
sudo mkdir -p /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/ 
sudo ln -s /usr/local/bin/apu-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/ 
sudo ln -s /usr/local/bin/apr-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/ 
brew install php70 
2

To może być ważne także dla osób korzystających z MacOS-dostarczonej instalacji Apache z PHP poprzez Homebrew, że (cytat z Homebrew php70 instalacji):

Wraz z wydaniem MacOS Sierra moduł Apache jest teraz nie jest domyślnie zbudowany. Jeśli chcesz go zbudować w swoim systemie, musisz zainstalować php z opcją --with-apache. Zobacz opcje zaparzania php70, aby uzyskać więcej szczegółów.

+0

Opcja --with-apache jest teraz przestarzała, użyj --with-httpd24 zamiast –