PHP фатальная ошибка: класс "MongoClient" не найден

у меня есть сайт, использующий Apache, который представляет собой следующий код:

<?php $m = new MongoClient(); ?>

и когда я пытаюсь получить к нему доступ, я получаю ошибку по ошибке.log

`PHP Fatal Error: Class 'MongoClient' not found`

ниже приведены настройки, которые могут быть неправильными, но я не думаю.

php -i | grep 'Configuration' =>Configuration File (php.ini) Path => /etc/php5/cli | Loaded Configuration File => /etc/php5/cli/php.ini

grep 'mongo' /etc/php5/cli/php.ini =>extension=mongo.so

php -i | grep 'extension' => extension_dir => /usr/lib/php5/20121212 => /usr/lib/php5/20121212

ls /usr/lib/php5/20121212/ | grep 'mongo.so' =>mongo.so

я не смог найти ничего, чтобы предложить мне установил его неправильно или неправильно настроил. Я установил его в течение последних двух часов, используя pecl и pear (sudo pear install -f pecl/mongo и sudo pecl install mongo)

я перезапустил свой Apache и даже мой компьютер несколько раз.

так почему я получаю ошибку Class 'MongoClient' not found?

я на Ubuntu. PHP версии 5.5.

Edit: я только что обнаружил, что MongoClient действителен при запуске php в интерактивном режиме. Возможно, это связано с разрешения пользователя проблема с установкой?

2 ответов


проблема заключалась в том, что я использовал php -i | grep 'Configuration' найти .ini-файл. Это приводит к /etc/php5/cli/php.ini. Оглядываясь назад, это должно было быть очевидным:cli означает интерфейс командной строки, в основном для переводчика. Мне нужен был ini-файл, который использовал Apache.

к сожалению, не было большого способа сделать это, так как я не мог войти в www-data пользователей, но я сделал файл, который имел код

<?php
  phpinfo();
?>

и это показало, что то .расположение ini-файл фактически /etc/php5/apache2/php.ini.

как только я обновил это файл ini с extension=mongo.so, модуль был загружен при запуске, поэтому я перезапустил, и теперь все работает.


Я сделал это, используя следующую последовательность

sudo apt-get install mongodb

sudo service mongodb start

mongo

sudo pecl install mongo

cd /build/buildd/php5-5.5.9+dfsg/pear-build-download

sudo tar zxvf mongo-1.6.8.tgz

cd mongo-1.6.8

sudo phpize

cd ./configure

sudo make install

sudo gedit /etc/php5/apache2/php.ini

add extension=mongo.ini inphp.ini

sudo gedit/etc/php5/apache2/conf.d/mongodb.ini

add extension=mongo.so

sudo service apache2 restart

и с помощью следующего url

http://www.w3resource.com/mongodb/install-php-driver.php