MongoDb PHP wamp 上的驱动程序安装问题
MongoDb PHP driver installation issue on wamp
我有 php 版本 5.5.12 和 wamp 版本 2.4.9 和 PHP Extension Build as API20121212,TS,VC11 。我正在使用这个 dll 'php_mongo-1.5.5-5.5-vc11.dll'(重命名为 php_mongo),但是当我重新启动我的所有服务时 mongo db 仍然没有显示在 phpinfo() 上。我所在的任何指针哪里出错了?
您是否在 php.ini 文件中(正确地)输入了 .dll?
http://docs.mongodb.org/ecosystem/drivers/php/
斯科特
我从未使用过 MONGO,但我很想知道它与 WAMPServer 一起使用时是否存在问题,所以我进行了快速安装以证明它应该可以工作,确实如此.
这是我所做的清单,希望它能帮助您找出可能做错的地方。
首先,您必须下载 Mongo 数据库管理器本身并进行安装。
从 https://www.mongodb.org/downloads
下载
2019 年 8 月更新:
Download from here now
所以你可以自己放置软件我会下载 ZIP 而不是 .MSI 这样你就不会让你的系统被 .msi 开发人员弄乱以及他们认为应该对你的系统做些什么而你在完全控制。
下载 32 位或 64 位版本以匹配您的 OS 和您正在使用的 WampServer(32/64) 版本 运行ning。
现在安装只是从 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 创建配置文件并至少添加这些参数 :-
注意:这些只是可以得到它的参数 运行ning,不是一组确定的参数!
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 运行ning 作为服务,请在 C:\wamp\bin\mongo\mongox.y.z
文件夹中创建一个命令文件:-
文件名 = 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
之间的space是必填项,不是错字
为了完整起见,还创建一个卸载文件:-
文件名=uninstall_service.cmd
mongod.exe --remove --serviceName wampmongodb
现在创建 2 个命令文件来启动和停止您的 mongodb 实例
文件名 = start_mongo.cmd
net start wampmongodb
文件名 = stop_mongo.cmd
net stop wampmongodb
现在使用(运行 作为管理员)启动命令 window 并使用这些命令文件来安装和启动您的 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 文件中没有报告错误
虽然仍在命令 window 中,但通过尝试一些简单的命令检查 mongo 是否 运行ning
使用此处的说明 http://docs.mongodb.org/manual/tutorial/getting-started/
证明一切正常。
现在添加 PHP 扩展程序
从“http://pecl.php.net/package/mongo”下载
Select 您想要的版本,然后在 'Downloads' 列中单击旁边带有单词 DLL 的 Windows 图标。
这会将您带到该版本的 MONGO PHP 扩展的下载页面。
您现在应该 select 下载 link 与您想要的 MONGO 扩展版本相匹配,并且匹配 (x86) 用于 32 位 WAMPServer 安装或 (x64) 64 位 WAMPServer 安装。
您必须点击 'DLL' link 否则您将获得 unix/linux 源代码。
请记住,您必须将 32 位或 64 位与您下载的 WAMPServer 版本相匹配
因此,如果您 运行 正在 Windows 64 位但安装了 WAMPServer 32 位,则您需要 MONGO 扩展的 32 位版本。
另外请记住,您需要 线程安全 版本 (TS) 到 运行 以及 WAMPServer 的 Apache 配置。
解压缩 zip 文件,然后将 php_mongo.dll
复制到您的 PHP 文件夹,例如 C:\wamp\bin\php\phpx.y.z\ext
编辑您的 php.ini 文件以添加新的扩展名。
要将 Mongo 与您的网络服务器 (Apache) 一起使用,请使用 wampmanager 菜单编辑 php.ini 即
wampmanager -> PHP -> php.ini
并在所有其他分机线之后添加此行
extension=php_mongo.dll
要从命令行 (PHP CLI) 将 mongo 与脚本 运行 一起使用,请编辑 C:\wamp\bin\php\phpx.y.z\php.ini
并在其中再次添加扩展行。
启动 Wampmanager。或者重新启动 Apache 服务。
这应该刷新 WAMPServers 配置并选择新的 PHP 扩展,如果在 wampmanager 为 运行ning 时不执行此操作:-
wampmanager -> Apache -> Service -> Restart Service
运行 本地主机:-
wampmanager -> localhost
然后点击主页上的phpinfo() link。
您现在应该看到标题为 'mongo' 的部分,其中列出了一些配置选项。如果你这样做 PHP MONGO 扩展是活动的。
重要
如果您正在 运行ning Windows Server 2008 R2 或 Windows 7,您可能必须安装此 HotFix 才能解决内存映射文件的问题。
从这里请求它 http://support.microsoft.com/kb/2731284/en-us
。你必须要它,然后他们会给你发一封电子邮件告诉你可以从哪里下载它。
他们给我的link是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 对我没有任何作用)
首先你必须从
下载最新的 mongo dll 文件
https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
解压下载的文件,你会看到一堆这样的文件:
现在是时候决定您必须使用哪个 dll 文件了。
打开 phpinfo() 并搜索词 compiler。你会看到这样的东西:
所以现在根据我的编译器版本(MSVC11),我必须选择名称中带有 vc11 单词的文件。根据我的 PHP 版本,即 5.5.12,我必须选择名称中包含单词 5.5 的文件。
现在在您的 phpinfo
中搜索单词 thread safety
如果它被启用,这意味着你必须选择名称中没有单词 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/en/mongo.installation.php
要在 windows 上安装 mongo,您还必须在系统路径中包含 libsasl.dll。
libsasl.dll 文件主要位于
C:\wamp\bin\php\php5.5.12
将此路径添加到您的系统 PATH。
重启你的 wamp,刷新你的 php 信息页面,你应该会看到这样的东西:
这意味着您已正确安装 mongo。 :)
PHP7 版本的更新。
根据 documentation we have to download mongodb-1.2. You can download it from here 基于您的 PHP 版本。
我有 php 版本 5.5.12 和 wamp 版本 2.4.9 和 PHP Extension Build as API20121212,TS,VC11 。我正在使用这个 dll 'php_mongo-1.5.5-5.5-vc11.dll'(重命名为 php_mongo),但是当我重新启动我的所有服务时 mongo db 仍然没有显示在 phpinfo() 上。我所在的任何指针哪里出错了?
您是否在 php.ini 文件中(正确地)输入了 .dll?
http://docs.mongodb.org/ecosystem/drivers/php/
斯科特
我从未使用过 MONGO,但我很想知道它与 WAMPServer 一起使用时是否存在问题,所以我进行了快速安装以证明它应该可以工作,确实如此.
这是我所做的清单,希望它能帮助您找出可能做错的地方。
首先,您必须下载 Mongo 数据库管理器本身并进行安装。
从 https://www.mongodb.org/downloads
2019 年 8 月更新: Download from here now
所以你可以自己放置软件我会下载 ZIP 而不是 .MSI 这样你就不会让你的系统被 .msi 开发人员弄乱以及他们认为应该对你的系统做些什么而你在完全控制。
下载 32 位或 64 位版本以匹配您的 OS 和您正在使用的 WampServer(32/64) 版本 运行ning。
现在安装只是从 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 创建配置文件并至少添加这些参数 :-
注意:这些只是可以得到它的参数 运行ning,不是一组确定的参数!
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 运行ning 作为服务,请在 C:\wamp\bin\mongo\mongox.y.z
文件夹中创建一个命令文件:-
文件名 = 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
之间的space是必填项,不是错字
为了完整起见,还创建一个卸载文件:-
文件名=uninstall_service.cmd
mongod.exe --remove --serviceName wampmongodb
现在创建 2 个命令文件来启动和停止您的 mongodb 实例
文件名 = start_mongo.cmd
net start wampmongodb
文件名 = stop_mongo.cmd
net stop wampmongodb
现在使用(运行 作为管理员)启动命令 window 并使用这些命令文件来安装和启动您的 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 文件中没有报告错误
虽然仍在命令 window 中,但通过尝试一些简单的命令检查 mongo 是否 运行ning
使用此处的说明 http://docs.mongodb.org/manual/tutorial/getting-started/
证明一切正常。
现在添加 PHP 扩展程序
从“http://pecl.php.net/package/mongo”下载
Select 您想要的版本,然后在 'Downloads' 列中单击旁边带有单词 DLL 的 Windows 图标。
这会将您带到该版本的 MONGO PHP 扩展的下载页面。
您现在应该 select 下载 link 与您想要的 MONGO 扩展版本相匹配,并且匹配 (x86) 用于 32 位 WAMPServer 安装或 (x64) 64 位 WAMPServer 安装。
您必须点击 'DLL' link 否则您将获得 unix/linux 源代码。
请记住,您必须将 32 位或 64 位与您下载的 WAMPServer 版本相匹配
因此,如果您 运行 正在 Windows 64 位但安装了 WAMPServer 32 位,则您需要 MONGO 扩展的 32 位版本。
另外请记住,您需要 线程安全 版本 (TS) 到 运行 以及 WAMPServer 的 Apache 配置。
解压缩 zip 文件,然后将 php_mongo.dll
复制到您的 PHP 文件夹,例如 C:\wamp\bin\php\phpx.y.z\ext
编辑您的 php.ini 文件以添加新的扩展名。 要将 Mongo 与您的网络服务器 (Apache) 一起使用,请使用 wampmanager 菜单编辑 php.ini 即
wampmanager -> PHP -> php.ini
并在所有其他分机线之后添加此行
extension=php_mongo.dll
要从命令行 (PHP CLI) 将 mongo 与脚本 运行 一起使用,请编辑 C:\wamp\bin\php\phpx.y.z\php.ini
并在其中再次添加扩展行。
启动 Wampmanager。或者重新启动 Apache 服务。 这应该刷新 WAMPServers 配置并选择新的 PHP 扩展,如果在 wampmanager 为 运行ning 时不执行此操作:-
wampmanager -> Apache -> Service -> Restart Service
运行 本地主机:-
wampmanager -> localhost
然后点击主页上的phpinfo() link。
您现在应该看到标题为 'mongo' 的部分,其中列出了一些配置选项。如果你这样做 PHP MONGO 扩展是活动的。
重要
如果您正在 运行ning Windows Server 2008 R2 或 Windows 7,您可能必须安装此 HotFix 才能解决内存映射文件的问题。
从这里请求它 http://support.microsoft.com/kb/2731284/en-us
。你必须要它,然后他们会给你发一封电子邮件告诉你可以从哪里下载它。
他们给我的link是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 对我没有任何作用)
首先你必须从
下载最新的 mongo dll 文件
https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
解压下载的文件,你会看到一堆这样的文件:
现在是时候决定您必须使用哪个 dll 文件了。
打开 phpinfo() 并搜索词 compiler。你会看到这样的东西:
所以现在根据我的编译器版本(MSVC11),我必须选择名称中带有 vc11 单词的文件。根据我的 PHP 版本,即 5.5.12,我必须选择名称中包含单词 5.5 的文件。
现在在您的 phpinfo
中搜索单词 thread safety
如果它被启用,这意味着你必须选择名称中没有单词 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/en/mongo.installation.php
要在 windows 上安装 mongo,您还必须在系统路径中包含 libsasl.dll。
libsasl.dll 文件主要位于
C:\wamp\bin\php\php5.5.12
将此路径添加到您的系统 PATH。
重启你的 wamp,刷新你的 php 信息页面,你应该会看到这样的东西:
PHP7 版本的更新。 根据 documentation we have to download mongodb-1.2. You can download it from here 基于您的 PHP 版本。