2015-11-02 12 views
6

Próbuję zainstalować sterownik php mongo dla OS X. Próbowałem po these instructions bezskutecznie.Używanie pecl do instalacji sterownika Mongodb na OS X El Capitan (v10.11.1)

$ which pecl ->/usr/local/Cellar/php56/5.6.13_2/bin/pecl

$ sudo pecl install mongo -> pełny build wyniki here ale Problem jest błąd:

In file included from /private/tmp/pear/install/mongo/io_stream.c:34: 
/private/tmp/pear/install/mongo/contrib/php-ssl.h:33:10: fatal error: 'openssl/evp.h' file not found 
#include <openssl/evp.h> 

Moi Xcode narzędzia wiersza polecenia są na bieżąco (użyłem $ xcode-select --install być pewnie).

Jestem pewien, jak rozwiązać ten problem.

+1

Dlaczego w dół głosować na moje pytanie? Zbadałem problem i nie mogę znaleźć rozwiązania dla El Capitan. – RobertJoseph

Odpowiedz

15

udało mi się obejść instalując OpenSSL za pomocą Homebrew (as suggested here):

$ brew install openssl 
$ brew link openssl --force 

Następnie

$ sudo pecl install mongodb 
+2

nie działa dla mnie –

+4

Szczególnie 'mongo' to nieaktualna nazwa pakietu; ludzie powinni używać 'mongodb'. Przymusowe łączenie warzenia działa również z nowszym pakietem 'mongodb'. Dzięki! –

+0

@EzekielVictor Uratowałem mój dzień! – Sibidharan

1

Do tego typu rzeczy polecam używanie http://phpbrew.github.io/phpbrew/. Pozwala łatwo zainstalować dowolne rozszerzenia do dowolnej wersji PHP.

Podczas instalowania nowej wersji php zwykle sprawdzam dziennik podczas kompilacji. Mogą istnieć zależności wymagające wcześniejszej instalacji. Upewnij się także, że masz zainstalowaną zaktualizowaną wersję homebrew.

-1

Trzeba wyłączyć Mac OSX El Capitan mechanizm rootless:

  1. Rozruch z Cmd-R
  2. Otwórz Terminal
  3. Rodzaj csrutil wyłączyć
  4. Reboot

Na Mac, trzeba zainstalować Xcode i budować dowiązania dla OpenSSL pochodzi z Xcode, tj

cd /usr/include; 
sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/openssl 
6

Czy ta

$ cd /usr/local/include 
$ ln -s ../opt/openssl/include/openssl 
+0

Już miałem openssl i pkg-config i wciąż otrzymywałem błąd To rozwiązanie zadziałało dla mnie –

+0

To również zadziałało dla mnie, po wyczerpaniu wszystkich innych dostępnych rozwiązań online. – carterh062

Powiązane problemy