繁体   English   中英

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

[英]MongoDb PHP driver installation issue on wamp

我有5.5.12版的php和2.4.9版的wamp以及PHP Extension Build as API20121212,TS,VC11。 我正在使用此dll'php_mongo-1.5.5-5.5-vc11.dll'(重命名为php_mongo),但是当我重新启动我的所有服务mongo db时,仍然没有在phpinfo()上显示.mi哪里出了错?

首先,您必须从下载最新的mongo dll文件
https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
解压缩下载的文件,您将看到很多这样的文件:
在此处输入图片说明
现在是时候确定您必须使用哪个dll文件了。
打开您的phpinfo()并搜索word 编译器 您将看到这样的东西:
在此处输入图片说明
所以现在根据我的编译器版本(MSVC11),我必须选择名称中带有vc11词的文件。 根据我的PHP版本5.5.12,我必须选择名称中带有单词5.5的文件。
现在在您的phpinfo中搜索单词线程安全
在此处输入图片说明
如果启用了它,则意味着您必须选择名称中没有单词nts的文件,但是如果禁用了线程安全,则需要选择名称中带有单词nts的文件。
现在,根据您的安装体系结构,您可以选择名称中带有x86_64的文件。
选择适当的dll文件后,将其重命名为php_mongo.dll并将其复制粘贴到您的php扩展目录中,该目录主要位于C:\\ wamp \\ bin \\ php \\ php5.5.12 \\ ext
现在打开您的php.ini文件,并将其添加到文件末尾。
扩展名= php_mongo.dll
根据
http://php.net/manual/zh/mongo.installation.php
要在Windows上安装mongo,还必须在系统PATH中包含libsasl.dll
libsasl.dll文件主要位于
C:\\ wamp \\ bin \\ php \\ php5.5.12
将此路径添加到系统路径。
重新启动您的沼泽,刷新您的phpinfo页面,您应该看到如下内容:
在此处输入图片说明 这表示您已正确安装mongo。 :)

我从未使用过MONGO,但我很想知道WAMPServer在使用中是否存在问题,因此我进行了快速安装以证明它应能正常工作, 并且确实如此

这是我所做的事情的清单,希望它可以帮助您确定您做错了什么。

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

2019年8月更新: 立即从此处下载

因此,您可以自己放置软件,这样我就可以下载ZIP而不是.MSI,这样就不会使您的系统被.msi开发人员所困扰,他们认为应该对您的系统进行处理,并且您完全可以控制。

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

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

bin文件夹从解压缩文件复制到c:\\wamp\\bin\\mongo\\mongox.yz (xyz匹配您下载的mongo版本)。

在该文件夹下创建一个数据文件夹,以便c:\\wamp\\bin\\mongo\\mongox.yz\\data在该文件夹下为您的第一个数据库创建一个数据文件夹,因此\\wamp\\bin\\mongo\\mongox.yz\\data\\db

c:\\wamp\\bin\\mongo\\mongox.yz\\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.yz文件夹中创建一个命令文件,如下C:\\wamp\\bin\\mongo\\mongox.yz

文件名= 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之间的空格是必需的,而不是错字

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

文件名= uninstall_service.cmd

mongod.exe --remove --serviceName wampmongodb

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

文件名= start_mongo.cmd

net start wampmongodb

文件名= 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 32位,则需要MONGO扩展的32位版本。

还要记住,您需要线程安全版本(TS)才能与WAMPServer的Apache配置一起运行。

解压缩zip文件,并将php_mongo.dll复制到您的PHP文件夹中,例如C:\\wamp\\bin\\php\\phpx.yz\\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.yz\\php.ini并在其中再次添加扩展线。

启动Wampmanager。 或重新启动Apache服务。 这应该刷新WAMPServers配置并选择新的PHP扩展,如果在运行wampmanager时不这样做,则:

wampmanager -> Apache -> Service -> Restart Service

通过:-运行localhost

wampmanager -> localhost

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

现在,您应该看到标题为“ mongo”的部分,其中列出了一些配置选项。 如果您这样做,则将激活PHP 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运行简单的测试。

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

  • 确保您从http://pecl.php.net/package/mongo下载了驱动程序
  • 尝试1.5.1版驱动程序(当我编写此文件时,最新的驱动程序版本为1.6.8,但1.6.8至1.5.5不适用于我)

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

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

史考特

PHP 7版本的更新。 根据文档,我们必须下载mongodb-1.2 您可以根据您的PHP版本从此处下载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM