在启用error_reporting的情况下,Mongo不会加载phpinfo

时间:2013-02-19 03:35:37

标签: php apache mongodb ubuntu error-reporting

我一直试图让Mongo在Ubuntu Server 12.04上使用Apache2在PHP 5.3上工作几个小时。

它给出了错误:

Fatal error: Class 'MongoClient' not found in /var/www/projects/learn/create.php on line 7

Mongo出现在php -m但未出现在phpinfo()中。经过长时间的搜索后,我尝试在php.ini中评论以下内容:

Default Value: E_ALL & ~E_NOTICE

这会导致Mongo出现在我的phpinfo()语句中,$m = new MongoClient()不会抛出任何错误。唯一的问题是我需要打开错误报告(因为我是新开发人员)。

只有在启用详细错误报告时,可能导致Mongo无法加载的原因是什么?

编辑:另外可能需要注意的是,我打开了单个PHP文件中的错误报告,并且正确地显示了任何错误,同时仍然允许Mongo加载

1 个答案:

答案 0 :(得分:2)

很可能你的开发/服务器设置上没有安装mongo扩展。首先检查是否已安装。创建一个名为phpinfo.php的文件,内容为:

从浏览器运行它。搜索mongo。看看版本是什么。如果不存在,请从命令行执行以下操作:

sudo pecl install mongo

如果你有ubuntu桌面 sudo gedit /etc/php5/conf.d/mongo.ini

如果你有ubuntu服务器 sudo vi /etc/php5/conf.d/mongo.ini

在文件中插入以下行: 延长= mongo.so

保存文件。出口。用sudo /etc/init.d/apache2 restart

重启apache

永远不要直接编辑php.ini文件,以便在ubuntu中加载/卸载扩展名。在/etc/php5/conf.d /

中对文件进行更改