Я получаю следующую ошибку при попытке запустить PHP- скрипт, который обращается к локальному MongoDB:
Неустранимая ошибка: класс "MongoDB\Driver\Manager" не найден ".
У меня есть установка apache (2.4.23), а также PHP (5.6.25) и MongoDB (2.4.14) и драйвер MongoDB (1.1.0). Кажется, что все работает из командной строки (cli), но когда я пытаюсь получить доступ к БД через Интернет, я получаю сообщение об ошибке "
Неустранимая ошибка: класс "MongoDB\Driver\Manager" не найден ".
Я знаю, что php.ini имеет специальный файл конфигурации для apache (/etc/php5/apache2/php.ini), и я включил расширение mongodb.so. Тем не менее, я все еще получаю эту ошибку. Я дважды проверил, что php на самом деле читает конфигурацию оттуда:
Файл конфигурации (php.ini) Путь /etc/php5/apache2 Загружен
Файл конфигурации /etc/php5/apache2/php.ini Загружен
Согласно сайту MongoDB (https://docs.mongodb.com/ecosystem/drivers/driver-compatibility-reference/#reference-compatibility-mongodb-php), MongoDB (2.4) совместим с mongoDB php Driver версии 1.1. Опять же, из командной строки мой тестовый скрипт работает:
<?php
echo phpinfo();
$manager = new MongoDB\Driver\Manager("mongodb://localhost:28124");
Есть идеи?!?!?!?
Задача решена. Проблема заключалась в том, что я не собирал php с поддержкой apxs. Как только я добавил, что (./configure --with-apxs2 =/usr/bin/apxs2) все работает нормально.
new \MongoDB\Driver\Manager(...)
(обратите внимание на обратную косую черту). Это, вероятно, ничего не изменит, но стоит попробовать