我已按照http://php.net/manual/en/mongodb.installation.pecl.php上提供的官方文档使用pecl安装了MongoDB PHP库
我通过mongo shell创建了一个名为'ma'的集合,其中包含两个文档'd1'和'd2'。
我正在尝试通过此文件连接到d1:connect.php
<?php
require_once __DIR__ . "/vendor/autoload.php";
$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->ma->d1;
echo "Done\n";
echo $collection;
?>
connect.php在我的终端上运行并提供此输出:
$ php connect.php
Done
ma.d1
但是在浏览器上它会出现此错误:此页面无效 localhost目前无法处理此请求。 HTTP ERROR 500
我的机器是64位Ubuntu 14.04 LTS。 PHP版本:5.5.9。 MongoDB shell和服务器版本:3.6.2。 Apache服务器版本:2.4.7。
我确信驱动程序安装正确,因为我得到了这个:
$ php --ri mongodb | grep version
MongoDB extension version => 1.4.0
libbson bundled version => 1.9.2
libmongoc bundled version => 1.9.2
我是这个司机的新手。任何帮助将不胜感激。
答案 0 :(得分:1)
您是否在apache使用的php.ini中添加了mongodb.so扩展指令?
见这里:http://php.net/manual/en/mongodb.installation.manual.php
答案 1 :(得分:0)
将extension = mongodb.so添加到php配置文件(在我的情况下是/etc/php5/cli/php.ini)之后,你必须重新启动Apache服务器。
sudo killall apache2
sudo service apache2 restart
另外,不确定这是与MongoDB有关还是仅与Apache有关,但我在重启时遇到此错误:“apache2:无法使用127.0.1.1可靠地确定服务器的完全限定域名。设置'ServerName'全局指令抑制此消息。“
所以我按照这个答案:https://askubuntu.com/a/256018
最后,使用此代码确保加载扩展名:
<?php
echo extension_loaded("mongodb") ? "loaded\n" : "not loaded\n";
?>