Ну вот странная ситуация, которую я обнаружил. Я использовал PHP и MongoDB вместе в проекте и обновил соответствующее программное обеспечение. После обновления я удостоверился, что обновил новые файлы conf, и все в порядке - кроме случаев, когда я пытаюсь использовать класс MongoClient
, я получаю следующую фатальную ошибку:
Неустранимая ошибка: необработанная ошибка: класс 'MongoClient' не найден в /srv/http/test.php
Поэтому мой первый инстинкт был проверить мой /etc/php/php.ini
чтобы убедиться, что mongodb.so был правильно включен. Я нашел это после других extension
линий:
extension=mcrypt.so
extension=zip.so
extension=mongodb.so ; <--- here it is
После этого я загрузил быстрый phpinfo()
чтобы убедиться, что я использовал правильный файл php.ini
, и подтвердил, что это так. И не только это, драйвер mongodb также, кажется, загружен правильно!
Loaded Configuration File /etc/php/php.ini
mongodb support enabled
mongodb version 1.1.1
mongodb stability stable
libmongoc version 1.3.1-dev
libbson version 1.3.0
Поэтому я перезапустил httpd и попробовал снова. Нет кости, все еще не могу найти класс MongoClient
. Поэтому я попытался установить его из pecl
вместо менеджера пакетов моего дистрибутива, и ситуация такая же, как описано выше.
Итак, вот краткое изложение ситуации:
- Ядро Linux 4.3.3
- Версия PHP 7.0.1
- php-mongodb версия 1.1.1
- Кажется, правильно настроен, и mongodb включен и отображается в
phpinfo()
. - Попробовал установить драйвер mongodb через
pecl
и менеджер пакетов моего дистрибутива.
Другая информация, которая может быть полезна:
- MongoDB версия 3.2.0
mongod
работает- Также попытался перезагрузиться, без изменений.