我有版本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出错的指针?
答案 0 :(得分:17)
首先,你必须从中下载最新的mongo dll文件
https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
解压缩下载的文件,你会看到一堆这样的文件:
现在是时候决定你必须使用哪个dll文件了
打开你的phpinfo()并搜索单词编译器。你会看到这样的:
所以现在根据我的编译器版本(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文件并在其末尾添加它
extension = php_mongo.dll
根据{{3}}
要在Windows上安装mongo,您还必须在系统路径中包含 libsasl.dll 。
libsasl.dll 文件大多位于
的 C:\瓦帕\ BIN \ PHP中\ php5.5.12 强>
将此路径添加到系统路径中
重新启动你的wamp,刷新你的phpinfo页面,你应该看到这样的:
这意味着您已正确安装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)
如果您仍然遇到问题,请遵循以下两条规则:
答案 3 :(得分:0)
答案 4 :(得分:0)
PHP 7版本的更新。 根据{{3}},我们必须下载 mongodb-1.2 。您可以根据您的PHP版本从documentation下载它。