Mac下phpinfo()不显示已安装MongoDB扩展问题求助
问题解决:CLI下MongoDB扩展生效但phpinfo()中不显示
核心原因
这是因为CLI模式的PHP和Web服务(Apache/Nginx)使用的PHP加载的是不同的php.ini配置文件。你通过php --ri mongodb验证的是CLI环境的扩展状态,而phpinfo()展示的是Web环境的PHP配置,两边配置文件不共享,所以你添加的扩展配置只对CLI生效,Web环境并未读取到。
解决步骤
- 查看Web环境的PHP配置文件路径:打开
phpinfo()页面,找到Loaded Configuration File项,复制对应的文件路径(这是Web环境PHP实际加载的配置文件)。
- 查看Web环境的PHP配置文件路径:打开
- 添加扩展配置:打开上述路径的
php.ini文件,加入以下配置:
extension="/usr/local/Cellar/php/8.1.11/pecl/20210902/mongodb.so"- 添加扩展配置:打开上述路径的
- 重启相关服务:
- 若使用Apache,执行命令:
sudo apachectl restart - 若使用Nginx,执行命令:
sudo nginx -s reload - 若Web环境依赖PHP-FPM(Homebrew安装的PHP通常默认启用),需额外重启PHP-FPM:
sudo brew services restart php@8.1
- 若使用Apache,执行命令:
- 重启相关服务:
- 验证结果:刷新
phpinfo()页面,检查是否出现MongoDB扩展的相关信息。
- 验证结果:刷新
额外提示
你可以通过php --ini命令查看CLI模式PHP加载的配置文件路径,和Web环境的路径对比,就能明确两者的差异。
内容的提问来源于stack exchange,提问作者Shibbir
相关产品推荐
相关产品推荐

