Ну вот странная ситуация, которую я обнаружил. Я использовал 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работает- Также попытался перезагрузиться, без изменений.
