我一直试图让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加载
答案 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 /
中对文件进行更改