2015-10-16 38 views
9

Od aktualizacji do Mac OS X El Capitan, jeśli spróbuję uruchomić apache w XAMPP z "extension = mongo.so" zawartym w pliku php.ini, apache nie powiedzie się początek. Jeśli to usuniemy, apache zacznie działać poprawnie. Mongo został zainstalowany w mojej kompilacji XAMPP przy użyciu dołączonego polecenia pecl. Czy to jest problem z nowym systemem operacyjnym, sterownikiem lub XAMPP?Sterownik php MongoDB powodujący brak apache na XAMPP OS X

EDIT: Masz sterownik działa poprawnie na MAMP, problem musi istnieć w XAMPP

Odpowiedz

0

Od:https://github.com/mongodb/mongo-php-driver/issues/247

PHP ładunki procesowe mongodb.so i _mongoc_do_init() funkcja libmongoc jest wykonywany, co nazywa sasl_client_init() po kompilacji z SASL. Znalazłem kilka odniesień do awarii we wcześniejszych wersjach Cyrus SASL na OS X, jeśli klient jest inicjowany i niszczony wielokrotnie w tym samym procesie; jednak oczekiwałbym, że logika wokół _mongoc_do_init() zapewnia, że ​​wykonuje się tylko raz na proces. Nie jestem również pewien wersji SASL, którą zainstalowałeś (poza biblioteką mającą "2.2" w nazwie pliku), więc nie jestem pewien, czy to jest czerwony śledzia. Będę musiał skontaktować się z twórcami libmongoc, aby to potwierdzić.

W międzyczasie, czy mógłbyś dostarczyć dziennik swojego monopodu instalacji pecl? Istnieje kilka linii zainteresowania związanych z konfiguracją SASL (niestety nie jest to dokładny numer wersji).

Ponadto, jeśli ręcznie tworzysz sterownik, powinieneś być w stanie użyć argumentu --with-mongodb-sasl = no, aby skonfigurować wyłączenie obsługi SASL, które może obejść ten problem, dopóki nie zdołamy go zdiagnozować. Ręczne kroki budować od powłoki byłoby:

$ cd /path/to/mongo-php-driver 
$ phpize 
$ ./configure --with-mongodb-sasl=no 
$ make clean && make all && make install 

to również wymagające inicjalizacji git submodules jeśli klonowanie repozytorium. W przeciwnym razie powinieneś być w stanie wyodrębnić plik PEGL tgz i użyć tych źródeł.