wo上的MongoDb PHP驱动程序安装问题

时间:2015-01-12 03:29:05

标签: php mongodb wampserver

我有版本5.5.12的php和wamp版本2.4.9以及PHP Extension Build作为API20121212,TS,VC11。我正在使用这个DLL'php_mongo-1.5.5-5.5-vc11.dll'(重命名为php_mongo),但是当我重新启动我的所有服务时,mongo db没有显示在phpinfo()上。任何mi出错的指针?

5 个答案:

答案 0 :(得分:17)

首先,你必须从中下载最新的mongo dll文件 https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
解压缩下载的文件,你会看到一堆这样的文件:
enter image description here
现在是时候决定你必须使用哪个dll文件了 打开你的phpinfo()并搜索单词编译器。你会看到这样的:
enter image description here
所以现在根据我的编译器版本(MSVC11),我必须在其名称中选择带有 vc11 字的文件。根据我的PHP版本5.5.12我必须在其名称中选择带有 5.5 字样的文件 现在在你的phpinfo中搜索线程安全字样 enter image description here
如果它已启用,则表示您必须选择在其名称中没有单词 nts 的文件,但如果您的线程安全已禁用,则需要选择文件在他们的名字中加上 nts 字样 现在根据您的安装架构,您可以选择名称中包含 x86_64 的文件 选择适当的dll文件后,将其重命名为 php_mongo.dll 并将其粘贴到您的php扩展目录,该目录主要位于 C:\ wamp \ bin \ php \ php5.5.12 \ ext
现在打开你的php.ini文件并在其末尾添加它 extension = php_mongo.dll
根据{{​​3}}
要在Windows上安装mongo,您还必须在系统路径中包含 libsasl.dll
libsasl.dll 文件大多位于
C:\瓦帕\ BIN \ PHP中\ php5.5.12
 将此路径添加到系统路径中 重新启动你的wamp,刷新你的phpinfo页面,你应该看到这样的:
enter image description here 这意味着您已正确安装mongo。 :)

答案 1 :(得分:14)

我从未使用MONGO,但我有兴趣看看WAMPServer是否存在使用它的问题,所以我做了快速安装以证明它正常工作,它确实

以下列出了我的所作所为,希望能帮助您解决出错的问题。

首先,您必须自行下载Mongo数据库管理器并进行安装。 从https://www.mongodb.org/downloads下载

所以你可以自己放置软件我会下载ZIP而不是.MSI这样你就不会让你的系统被.msi开发人员搞砸了,他们认为应该对你的系统做些什么而且你完全可以控制

下载32位或64位版本以匹配您正在运行的操作系统和WampServer(32/64)版本。

现在,安装只是从zip中提取文件并将它们放在系统上的某个位置的情况。我建议: -

将摘录中的bin文件夹复制到c:\wamp\bin\mongo\mongox.y.z(x.y.z以匹配您下载的mongo版本)。

在该文件夹下创建一个数据文件夹,c:\wamp\bin\mongo\mongox.y.z\data 为该文件夹下的第一个数据库创建一个数据文件夹,\wamp\bin\mongo\mongox.y.z\data\db

c:\wamp\bin\mongo\mongox.y.z\mongod.cfg中为mongo创建配置文件,并至少添加以下参数: -

注意:这些只是使它运行的参数,而不是一组确定的参数!

systemLog:
  destination: file
  path: "c:/wamp/logs/mongod.log"
  logAppend: true
  timeStampFormat: iso8601-local

net:
  bindIp: 127.0.0.1
  port: 27017

storage:
  dbPath: "c:/wamp/bin/mongo/mongo2.6.6/data"
  directoryPerDB: true

现在,如果你想让mongodb作为服务运行,请在C:\wamp\bin\mongo\mongox.y.z文件夹中创建一个类似的命令文件: -

Filename = install_service.cmd

mongod.exe --config "c:\wamp\bin\mongo\mongo2.6.6\mongod.cfg" --install --serviceName wampmongodb --serviceDisplayName wampmongodb
sc config wampmongodb start= demand

start=demand之间的空格是必需的,而非拼写错误

为了完整性,还要创建一个卸载文件: -

Filename = uninstall_service.cmd

mongod.exe --remove --serviceName wampmongodb

现在创建2个命令文件来启动和停止你的mongodb实例

Filename = start_mongo.cmd

net start wampmongodb

Filename = stop_mongo.cmd

net stop wampmongodb

现在使用(以管理员身份运行)启动命令窗口并使用这些命令文件来安装和启动MONGODB服务器

CD \wamp\bin\mongo\mongox.y.z
#Install MONGO as a service
install_service
#Start the service
start_mongo

现在检查c:\wamp\logs文件夹并确保mongod.log文件中没有报告错误

当仍在命令窗口中时,通过尝试一些简单的命令来检查mongo是否正在运行 使用http://docs.mongodb.org/manual/tutorial/getting-started/中的说明来证明它一切正常。

现在添加PHP扩展

从“http://pecl.php.net/package/mongo”下载

选择所需的版本,然后在“下载”列中单击旁边带有单词DLL的Windows图标。

这将带您进入该版本MONGO PHP扩展的下载页面。

您现在应该选择与您想要的MONGO扩展版本匹配的下载链接,以及用于32位WAMPServer安装的匹配(x86)或用于64位WAMPServer安装的(x64)。

您必须单击“DLL”链接,否则您将获得unix / linux源代码。

请记住,您必须将32位或64位与您下载的WAMPServer版本相匹配

因此,如果您运行的是Windows 64位但安装了WAMPServer 32bit,则需要32位版本的MONGO扩展。

另请注意,您需要线程安全版本(TS)才能与WAMPServer的Apache配置一起运行。

解压缩zip文件,并将php_mongo.dll复制到PHP文件夹,例如C:\wamp\bin\php\phpx.y.z\ext

编辑php.ini文件以添加新扩展名。 要将Mongo与Web服务器(Apache)一起使用,请使用wampmanager菜单编辑php.ini,即

wampmanager -> PHP -> php.ini

并在所有其他扩展行

之后添加此行
extension=php_mongo.dll

要使用mongo和从命令行运行的脚本(PHP CLI),请编辑C:\wamp\bin\php\phpx.y.z\php.ini并再次添加扩展行。

启动Wampmanager。或者重新启动Apache服务。 这应该刷新WAMPServers配置并获取新的PHP扩展,如果在wampmanager运行时没有这样做: -

wampmanager -> Apache -> Service -> Restart Service

运行localhost: -

wampmanager -> localhost

然后点击主页上的phpinfo()链接。

您现在应该看到一个名为'mongo'的部分,其中列出了一些配置选项。如果您这样做,则MONGO扩展名处于活动状态。

重要

如果您运行的是Windows Server 2008 R2或Windows 7,则可能必须安装此HotFix才能解决内存映射文件的问题。 从这里http://support.microsoft.com/kb/2731284/en-us请求它。您必须要求它,然后他们会向您发送一封电子邮件,告诉您可以从哪里下载。

他们给我的链接是http://hotfixv4.microsoft.com/Windows 7/Windows Server2008 R2 SP1/sp2/Fix405791/7600/free/451412_intl_i386_zip.exe

但是我不需要安装它来进入安装MONGO的阶段,并从命令行和Apache和PHP运行简单的测试。

答案 2 :(得分:1)

如果您仍然遇到问题,请遵循以下两条规则:

  • 确保您从中下载了驱动程序 http://pecl.php.net/package/mongo
  • 试用1.5.1版本的驱动程序(当我 我写这个最新的驱动程序版本是1.6.8但1.6.8到1.5.5没有任何对我有效)

答案 3 :(得分:0)

您是否已在php.ini文件中输入.dll(正确)?

http://docs.mongodb.org/ecosystem/drivers/php/

斯科特

答案 4 :(得分:0)

PHP 7版本的更新。 根据{{​​3}},我们必须下载 mongodb-1.2 。您可以根据您的PHP版本从documentation下载它。