使用XAMPP环境时无法找到MongoDB驱动的问题求助
我太懂这种明明跟着步骤操作,结果驱动还是找不到的挫败感了!咱们一点点排查,肯定能揪出问题所在:
先把驱动版本匹配对!
你下载的是php_mongodb-1.4.2-7.0-ts-vc14-x64,但你的PHP版本是7.2.3啊!这个驱动是给PHP7.0适配的,和7.2不兼容。你得去下载适配PHP7.2、线程安全(TS)、VC14、x64的mongodb驱动,选1.5.x系列就好(1.5.x开始正式支持PHP7.2)。确认你改对了php.ini文件
XAMPP里可能藏着多个php.ini副本,别改错了!打开XAMPP控制面板,点Apache旁边的Config,选择PHP (php.ini),这才是Apache实际调用的配置文件。在里面加extension=mongodb就行,PHP7.2及以后不需要加.dll后缀(加了也能生效,但标准写法是不加)。改完一定要重启Apache,不然配置根本不会生效!验证驱动是否真的加载成功
在XAMPP的htdocs文件夹里新建个phpinfo.php,内容就写:<?php phpinfo(); ?>然后访问
http://localhost/phpinfo.php,搜一下mongodb,要是能看到相关模块信息,说明驱动加载成功;要是搜不到,接着往下查。检查依赖文件和环境变量
你添加的libeay32.dll、ssleay32.dll最好用XAMPP自带的(就在XAMPP的php目录里),别随便下载别的版本。另外,改完环境变量Path之后一定要重启电脑,不然系统可能没识别到新路径。确认扩展放对了地方
把下载的php_mongodb.dll放到XAMPP的php/ext目录里,然后去phpinfo里看extension_dir的值,确保这个路径和你放dll的路径完全一致。看Apache错误日志找线索
要是以上都没问题,就去看Apache的错误日志:XAMPP控制面板点Apache的Logs→Error Log,里面会明确写驱动加载失败的原因,比如文件找不到、版本不兼容之类的,照着日志提示解决就行。
内容的提问来源于stack exchange,提问作者Pendelluft

