Большую часть этого дня я боролся с установкой PHP-драйвера MongoDB.
Я использую PHP версии 5.5, и я установил драйвер PHP MongoDB, используя brew install php55-mongo
(хотя я пробовал другие методы раньше). Проблема в том, что всякий раз, когда я пытаюсь использовать MongoClient()
Я получаю ошибку:
Класс ‘MongoClient’ не найден
Модуль «Монго» указан при запуске php -m
, но я также получаю следующие предупреждения:
Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку ‘/usr/local/Cellar/php55/5.5.34/lib/php/extensions/no-debug-non-zts-20121212/mongo.so’ — dlopen (/ usr /local/Cellar/php55/5.5.34/lib/php/extensions/no-debug-non-zts-20121212/mongo.so, 9): изображение не найдено в Неизвестно в строке 0
Предупреждение: запуск PHP: не удается загрузить динамическую библиотеку ‘/usr/local/Cellar/php55/5.5.34/lib/php/extensions/no-debug-non-zts-20121212/mongo.so’ — dlopen (/ usr / local / Cellar / php55 / 5.5.34 / lib / php / extensions / no-debug-non-zts-20121212 / mongo.so, 9): изображение не найдено в Unknown в строке 0
Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку ‘/usr/local/opt/php55-mongodb/mongodb.so’ — dlopen (/usr/local/opt/php55-mongodb/mongodb.so, 9): изображение не найдено в Неизвестно в строке 0
Предупреждение: запуск PHP: невозможно загрузить динамическую библиотеку ‘/usr/local/opt/php55-mongodb/mongodb.so’ — dlopen (/usr/local/opt/php55-mongodb/mongodb.so, 9): изображение не найдено в Неизвестно в строке 0
Модуль не указан, когда я использую phpinfo()
или же get_loaded_extensions()
,
Есть идеи?
Проверьте, какой драйвер php mongo вы установили. Похоже, что вы установили новый драйвер php mongo и для этого вам нужно добавить расширение mongodb.so вместо mongo.so
Как указано в руководстве по PHP
Класс MongoClient
(PECL mongo> = 1.3.0)
Предупреждение
Это расширение, которое определяет этот класс, устарело. Вместо этого следует использовать расширение MongoDB. Альтернативы этому классу включают в себя:
MongoDB\Driver\Manager
Других решений пока нет …