启用error_reporting后,Mongo不会在phpinfo中加载



我已经试着让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无法加载?

edit:同样值得注意的是,我在单个PHP文件中打开了错误报告,它可以正确显示任何错误,同时仍然让Mongo加载

很可能mongo扩展没有安装在您的dev/server设置中。首先检查是否已安装。创建一个名为phpinfo.php的文件,其中包含以下内容:

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

sudo pecl安装mongo

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

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

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

保存文件。出口使用sudo/etc/init.d/apache2重新启动

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

的文件中进行更改

最新更新