[英]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运行简单的测试。
如果仍然遇到问题,请遵循以下两个规则:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.