Неустранимая ошибка - класс 'Mongo' не найден

7

Я пытаюсь выполнить это:

<?php

// connect
$m = new Mongo();

?>

Но я получаю следующую ошибку:

Неустранимая ошибка: класс "Монго" не найден в C:\wamp\www.....


Информация:

  • PHP: 5.38
  • MongoDB: mongodb-win32-i386-2.0.2
  • Драйвер PHP MongoDB: mongo-1.1.4-php5.3vc6ts
  • WampServer: 2.2
  • ОС: Windows 7 Enterprise SP1

Я следил за точками установки MongoDB (включая добавление DLL к ext и php.ini), я начал работать с mongod.exe и WAMP.

Что это значит, отсутствует/неверно?


Изменить:

У меня это работает на другой машине Windows 7 (Windows 7 Profressional). Мне было любопытно. Итак, теперь мой компьютер с Windows 7 Enterprise SP1 имеет те же http.conf, php.ini, C:\wamp\bin\mongodb содержимое (поэтому DB - то же самое) и тот же командный файл, чтобы запустить mongod.exe в качестве моей машины Win7 Professional.

Но все-таки все, что я могу сделать на моей машине Win7 Enterprise SP1, подключается через командную строку. Моя машина Win7 Professional phpinfo() содержит:
Изображение 39887 Моя машина Win7 Enterprise SP1 не содержит ссылок на MongoDB.

Содержимое командного файла, используемого для запуска MongoDB:

"C:\wamp\bin\mongodb\bin\mongod.exe" --logpath "C:\wamp\bin\mongodb\logs\error.log" --logappend --dbpath "C:\wamp\bin\mongodb\data\db" --directoryperdb --service
Net Start "MongoDB"
pause
  • 2
    ты перезапустил apache? также проверьте, правильно ли вы отредактировали php.ini (тот, который указан phpinfo() как загруженный)
  • 0
    @Mchl Да, я перезапустил и да, я отредактировал правильный php.ini соответствии с phpinfo()
Показать ещё 7 комментариев
Теги:
installation
wamp

4 ответа

6
Лучший ответ

Проблема заключалась в драйвере PHP (php_mongo.dll). По какой-то причине Apache/WAMP не понравилась версия mongo-1.1.4-php5.3vc6ts. Моя машина Windows 7 Professional имела версию mongo-1.2.5-php5.3vc9ts. Это была единственная разница между двумя машинами.

Я изначально использовал версию драйвера mongo-1.2.5-php5.3vc9ts на машине Windows 7 Enterprise, но при решении проблемы с ней был изменен на версию mongo-1.1.4-php5.3vc6ts. Таким образом, исходной проблемой могло быть просто то, что путь базы данных data\db не существовал/не мог быть найден (и должен быть указан с помощью --dbpath при запуске/запуске mongod.exe).

  • 1
    Это очень сложно, потому что вы должны установить php_mongo.dll а не php_mongodb.dll . 2 пакета присутствуют в библиотеке PECL. Также для vc6 и vc9 требуется установленная библиотека C ++ Redistributable. Версия x86 или x64 зависит от скомпилированной версии Apache
5

Если эта проблема существует в php CLI, вы должны добавить extension=mongo.so в свой /etc/php5/cli/php.ini файл

0

В Ubuntu я использовал этот учебник. После установки echo phpinfo() и проверьте, находится ли файл mongo.ini в правильном каталоге, указанном в phpinfo, с помощью "Сканировать этот каталог для дополнительных файлов .ini"

0

Проверьте точное имя компилятора вашего двоичного файла PHP на странице phpinfo и попробуйте переустановить драйвер mongo, построенный на том же компиляторе.

http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows

Теперь вы используете драйвер mongo для Visual Studio 6 с помощью Thread-safe. (vs6ts означает это)

Аналогичная проблема была вызвана проблемой компилятора;

http://www.php.net/manual/en/mongo.installation.php#104223

Ещё вопросы

Сообщество Overcoder
Наверх
Меню