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运行依然提示以下报错

[think\exception\ThrowableError]                                  
Fatal error: Call to undefined function Workerman\pcntl_signal() 

通过phpinfo()函数发现pcntl扩展已经安装完成,但是使用php-m并未找到pcntl扩展

使用以上方法找到命令行模式下php加载的php.ini文件,在文件底部加入扩展

extension=pcntl.so

 在此使用 php think worker:server 运行服务已经没有了报错,问题解决

  

posted @ 2018-12-08 20:19  飞翔的cloud  阅读(2458)  评论(0编辑  收藏  举报