Вот такую странную ситуацию я обнаружил. Я использовал 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 version 1.1.1
- Yes, 1.1.1 supports php7.
- Кажется, настроено правильно, mongodb включен и показан в
phpinfo()
. - Попытался установить драйвер mongodb через
pecl
и менеджер пакетов моего дистрибутива.
Другая информация, которая может быть полезна:
- MongoDB версии 3.2.0
mongod
работает- Также пробовал перезагружать, без изменений.