![MongoDB: невозможно загрузить драйвер на PHP](https://rvso.com/image/623622/MongoDB%3A%20%D0%BD%D0%B5%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%B8%D1%82%D1%8C%20%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20PHP%20.png)
Я пытаюсь сделатьmongo-php-драйверработать сPHP 5.5.7наОС X 10.9.1но я зашел в тупик, я перепробовал все, что мог найти, и ничего не работает...
Все компилируется нормально, но PHP не загружает расширение и выдает очень странную ошибку:
Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-zts-20121212/mongo.so' - dlopen(/usr/local/lib/php/extensions/no-debug-zts-20121212/mongo.so, 9): Symbol not found: _core_globals
Referenced from: /usr/local/lib/php/extensions/no-debug-zts-20121212/mongo.so
Expected in: flat namespace
in Unknown on line 0
Я проверил безопасность потоков и проблемы архитектуры, но все в порядке: и расширение, и PHP потокобезопасны и 64-битны.
Я также проверил, нет ли проблем с двоичными файлами, такими как phpize
и php-config
, но, похоже, все в порядке...
Я действительно не знаю, что делать, есть ли у кого-нибудь подсказки?
Как отметилvoretaq7иБезумный Шляпниквот что я сделал:
- Загрузил PHP 5.5.7 и скомпилировал с помощью
./configure --with-apxs2=/usr/local/apache2/bin/apxs
; - Скачалвладелецветвь драйвера mongo и скомпилирована с конфигурацией по умолчанию какпроинструктирован;
- Включил расширение в php.ini:
extension = mongo.so
; - Запустил
php -v
и получил странную ошибку, о которой я говорил ранее; - Проверил, были ли PHP и драйвер скомпилированы в 64-битной версии, так и было;
- Проверил, установлены ли
phpize
ранееphp-config
на шаге 1 те же файлы, они были установлены; - КричалК черту это дерьмои попросил о помощи.
- Понял, что можно попробовать версию драйвера 1.4.5.БАМ!готово, теперь все работает.
решение1
Эта проблема возникает только напоследняя версия.
Я только что попробовал с1.4.5и все прошло просто отлично!