
Я пытаюсь сделать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и все прошло просто отлично!