Неустранимая ошибка - класс 'Mongo' не найден - PullRequest
8 голосов
/ 19 января 2012

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

<?php

// connect
$m = new Mongo();

?>

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

Неустранимая ошибка: класс '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

Iя хорошо выполнил установку 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 (следовательно, БД точно такие же) и тот же пакетный файл для запуска mongod.exe, что и мой компьютер с Win7 Professional.

Но все же, все, что я могу сделать на своем компьютере с Win7 Enterprise SP1, это подключиться через командную строку.phpinfo() моего компьютера Win7 Professional содержит:
Mongo section in php.ini Мой компьютер 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

Ответы [ 4 ]

6 голосов
/ 25 января 2012

Проблема была в драйвере 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).

5 голосов
/ 18 августа 2012

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

0 голосов
/ 05 февраля 2014

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

0 голосов
/ 19 января 2012

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

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

Теперь вы используете драйвер монго на Visual Studio 6 с поддержкой потоков. (vs6ts означает это)

Подобная проблема была вызвана проблемой компилятора;

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

...