我想在MongoDB
上使用PHP5.5
Wampserver 2.5
,但我无法使其正常运行。我使用this教程设置了MongoDB 2.6.3配置文件并运行了mongod.exe --install --config 'config_path'
并添加了环境变量的路径,似乎已经安装了MongoDB服务并且工作正常。我还将线程安全的mongodb php驱动程序复制到php的ext
文件夹中,并将extension=php_mongo.dll
添加到php.ini
和apache/apache2.4.9/bin/
中的php/php5.5.12
个文件中{1}}文件夹。当我在php_mongo
扩展名旁边运行wampserver there's a warning sign时。问题是我尝试安装x64版本的wampserver和MongoDB,但没有任何区别,我也没有在与此问题相关的日志中收到任何错误。
我还读到使用非线程安全版本的驱动程序可以解决问题。但是当我使用它时,我在启动wampserver时遇到此错误:
The program can't start because php5.dll is missing from you computer.
Try reinstalling the program to fix this problem.
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php5.5.12/ext/php_mongo.dll' - The specified module could not be found.
以下是我使用的软件集:
就是说,安装在c:\mongodb\
和wampserver中的mongodb已安装在c:\wamp
我很感激你的帮助。
编辑:问题没有消失,所以我不得不搜索另一个网络服务器,我发现zWamp是一个php / mysql / apache / mongodb堆栈,它可以工作!
答案 0 :(得分:4)
我在使用Apache 2.4和PHP 5.5的Windows 8.1中遇到了同样的问题。我尝试从AWS“存储桶列表”下载的最新版本的mongo驱动程序1.5.5和1.5.4,但没有任何效果。 然后我尝试了1.5.1版本,现在一切正常,apache日志上的错误已经消失,并且在phpinfo()中显示了MongoDB支持。
答案 1 :(得分:2)
我用过这个并且工作:php_mongo-1.5.1.zip
安装mongodb后,我正在通过这个亚马逊桶列表(https://s3.amazonaws.com/drivers.mongodb.org/php/index.html)获取扩展dll文件。我已经采取了最新的zip文件并选择了dll文件,它为我的php版本(5.5.12)和架构(64)拍摄它没有成功。最后我尝试了php_mongo-1.5.1.zip dll(php_mongo-1.5.1-5.5-vc11-x86_64.dll)文件,其开始工作的mongo扩展细节可以在phpinfo()中看到。
在mongodb开始工作之前,别忘了启动mongod服务器。
答案 2 :(得分:1)
避免Wampserver 2.5管理"接口"并简单地将它放在两个php.ini文件中...在我的情况下,它们位于
C:\wamp\bin\php\php5.5.12
和
C:\wamp\bin\apache\apache2.4.9
我将扩展名添加为
extension=php_mongo-1.5.1-5.5-vc11-x86_64.dll
作为其他extension = ...行的新行
(记得将DLL文件从您在此处下载的驱动程序文件https://s3.amazonaws.com/drivers.mongodb.org/php/index.html复制到文件夹C:\wamp\bin\php\php5.5.12\ext
- 我使用的是1.5.1版本)
重新启动wampserver,它现在运行正常,但Wampserver仍在PHP管理部分的mongo .dll中显示警告三角形。
答案 3 :(得分:0)
确保使用MongoDB扩展的线程安全版本。在Windows(WAMP)上使用非线程安全版本时,我遇到了smae错误。只是一个正确的.dll文件解决了这个问题。
要下载扩展程序,请检查以下链接:http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows
更新:有4个文件,请根据您的机器配置选择合适的文件。 * -vc11 - ,* - vc11-nts,* -vc11-x86_64和* -vc11-nts-x86_64。 -vc11-x86_64 对我来说很好。
答案 4 :(得分:0)
如果你在php插件中的mongo之前收到警告标志,那么mongoDB驱动程序不会加载到php.ini中。添加extension = php_mongo-XX;(。已放置在php / ext文件夹中的.dll文件名)。警告标志将消失,mongoDB驱动程序将加载到php。
答案 5 :(得分:0)
确保将PHP安装目录添加到系统环境变量PATH
。
我正在使用Mongo驱动程序v1.5.8,它运行良好。
PHP手册页说:
“此扩展程序要求以下文件位于PATH
:libsasl.dll
”
你可以在PHP安装目录中找到libsasl.dll
。
答案 6 :(得分:0)
我也有这个问题,这就是我正在使用的:
Windows 10,64位
Wamp 2.5,64 Bits
PHP 5.5.12
MongoDB 3.2
扩展名出现在php扩展列表中,但是没有出现在phpinfo中,我尝试了几乎所有版本的mongodb库,但是用这种方式解决了它:
将WAMP PHP版本从5.5.12更新到5.5.31(最新版),我几乎按照这里的说明进行操作:Upgrading WAMP PHP,我只是按照第5步的说法,添加新版本后别忘了只需点击WAMP图标切换到新版本 - > PHP->版本 - > 5.5.31
在我升级的PHP版本的php.ini文件中添加了扩展名,我在mysqli扩展名之后添加了它:
延长= php_mongodb.dll
将我的升级版PHP中的MongoDB扩展名复制到/ ext文件夹,我使用了MongoDB 1.1.2驱动程序,它是新的和更新的库,它还取决于你的MongoDB版本,可以在这里找到:https://pecl.php.net/package/mongodb 在这里检查MongoDB库的兼容性:https://docs.mongodb.org/ecosystem/drivers/php/这个解决方案我使用版本1.1.2 for PHP 5.5线程安全(TS)x64(假设所有WAMP库都必须是线程安全的)
我最后也不得不将我编辑过的php.ini文件复制到Apache文件夹:wamp \ bin \ apache \ apache2.4.9 \ bin以使其工作,也许syslink指向较旧的文件夹。< / p>
问候!