Я пытаюсь установить MongoDB на мой компьютер под управлением Mac OS X 10.11 (El Capitan).
Моя конфигурация Apache + PHP уже работала правильно.
Я установил драйверы MongoDB и PHP для MongoDB через MacPorts:
sudo port install mongodb
sudo port install php55-mongodb
Установка прошла правильно.
Я добавил файл mongodb.so в расширения, загруженные в файл php.ini:
extension=/opt/local/lib/php55/extensions/no-debug-non-zts-20121212/mongodb.so
Когда я запускаю функцию phpinfo () в файле php, расширение mongodb кажется загруженным правильно:
Я попытался проверить мою связь, инициализировав экземпляр MongoClient:
<?php
$mongoDB = new MongoClient();
var_dump($mongoDB);
?>
К сожалению, я получил HTTP ERROR 500, и я получил следующую строку в моих журналах Apache:
PHP Fatal error: Class 'MongoClient' not found in ...
Я сделал что-то не так?
На большинстве сайтов я видел, что вам нужно добавить расширение mongo.so
и не mongodb.so
в вашем php.ini
,
Если это не решило вашу проблему, я рекомендую вам установить MongoDB Drive с PELC.
Запустите командную строку:
$ sudo pecl install mongo
И добавьте эту строку в свой php.ini
:
extension=mongo.so
Наконец-то нашел решение моей проблемы.
Как @neverpanic и @Zagonine заставили меня понять, PHP-MongoDB а также PHP-Монго не то же самое расширение.
Если вы хотите использовать старые классы вождения PHP, вы должны использовать PHP-Монго пакет вместо самого нового PHP-MongoDB.
Пытаюсь установить последнюю PHP-Монго расширение, у меня была другая проблема, связанная с OpenSSL. Чтобы обойти это, я установил старую версию PHP-Монго расширение:
sudo /usr/local/pear/bin/pecl install mongo-1.5.8
Надеюсь, это поможет кому-то еще.