首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB PHP库-代码可以在终端上运行,但不能在浏览器上运行

问MongoDB PHP库-代码可以在终端上运行,但不能在浏览器上运行
EN

Stack Overflow用户
提问于 2018-02-10 15:30:33
回答 2查看 777关注 0票数 0

我已经按照http://php.net/manual/en/mongodb.installation.pecl.php上提供的官方文档使用pecl安装了MongoDB PHP库

我通过mongo shell创建了一个名为'ma‘的集合,其中包含两个文档'd1’和'd2‘。

我正在尝试通过以下文件连接到d1 : connect.php

代码语言:javascript
复制
<?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在我的终端上运行,并给出以下输出:

代码语言:javascript
复制
$ php connect.php
Done
ma.d1

但是在浏览器上,它给出了这个错误:这个页面不工作,localhost当前不能处理这个请求。HTTP错误500

我的机器是64位Ubuntu 14.04 LTS。PHP版本: 5.5.9。MongoDB外壳和服务器版本: 3.6.2。Apache服务器版本: 2.4.7。

我确信驱动程序安装正确,因为我得到的是:

代码语言:javascript
复制
$ php --ri mongodb | grep version
MongoDB extension version => 1.4.0
libbson bundled version => 1.9.2
libmongoc bundled version => 1.9.2

我是这个司机的新手。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2018-02-10 15:37:28

您是否在apache使用的php.ini中添加了mongodb.so扩展指令?

查看此处:http://php.net/manual/en/mongodb.installation.manual.php

票数 1
EN

Stack Overflow用户

发布于 2018-02-10 16:38:33

在向php配置文件(在我的例子中是/etc/php5/cli/php.ini)添加extension = mongodb.so之后,您必须重新启动Apache服务器。

代码语言:javascript
复制
sudo killall apache2
sudo service apache2 restart

此外,我不确定这是与MongoDB有关还是仅仅与Apache有关,但我在重启时收到了以下错误:"apache2:无法使用127.0.1.1.全局设置'ServerName‘指令来抑制此消息,无法可靠地确定服务器的完全限定域名。“

所以我遵循了这个答案:https://askubuntu.com/a/256018

最后,使用以下代码确保加载了扩展:

代码语言:javascript
复制
<?php
echo extension_loaded("mongodb") ? "loaded\n" : "not loaded\n";
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48718363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档