2

几个小时以来,我一直试图让 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 加载

4

1 回答 1

2

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

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

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 restart 重启 apache

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

于 2013-02-19T12:52:39.680 回答