php-m 已扩展mongo,但phpinfo()却无法显示,new MongoClient()也不行,请问下是怎么回事
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php-m 已扩展mongo,但phpinfo()却无法显示,new MongoClient()也不行,请问下是怎么回事相关的知识,希望对你有一定的参考价值。
参考技术A 这个只能说明模块有被编译,还要设置php.iniextension=php_mongo.dll
然后重启apache,再试试。追问
apache已设置,但就是无法phpinfo()
本回答被提问者和网友采纳php-m 与 phpinfo 不一致的解决办法
1.查看PHP当前加载的php.ini文件地址,在控制台输入以下命令:
php -i | grep php.ini
2.控制台返回的信息
Configuration File (php.ini) Path => /Applications/MAMP/bin/php/php7.2.10/conf Loaded Configuration File => /Applications/MAMP/bin/php/php7.2.10/conf/php.ini
3.在此php.ini下方补充扩展:例如
extension=redis.so
extension=pcntl.so
4.再次通过php-m命令查看发现需要的扩展已经出现了(前提已经安装)
5.运行实际项目也没有了保存问题
以我MAC 运行的thinkphp项目为例 引入了第三方扩展 Workerman,已经确定pcntl扩展已经安装但是通过cli运行依然提示以下报错
[thinkexceptionThrowableError]
Fatal error: Call to undefined function Workermanpcntl_signal()
通过phpinfo()函数发现pcntl扩展已经安装完成,但是使用php-m并未找到pcntl扩展
使用以上方法找到命令行模式下php加载的php.ini文件,在文件底部加入扩展
extension=pcntl.so
在此使用 php think worker:server 运行服务已经没有了报错,问题解决
以上是关于php-m 已扩展mongo,但phpinfo()却无法显示,new MongoClient()也不行,请问下是怎么回事的主要内容,如果未能解决你的问题,请参考以下文章