解决php -v查看到版本于phpinfo()打印的版本不一致问题

整个事件的起因是这样的

        通过git拉取laraevl项目发现缺少.env文件,打算使用composer install生成一个.env文件,然后提示composer最低使用php版本7.1.3而检测到我的版本为5.4.16。提示如下:

然后使用phpinfo打印一下发现版本是7.2.6。打印结果如下:

 

解决方案

        首先查找一下linux上有几个php.ini。结果发现有两个:

                

大致猜想php cli加载的php配置文件与phpinfo()加载的配置文件不一致,使用命令来查看cli加载的php.ini是哪个:

php -i | grep php.ini

结果为:

再查看phpinfo()打印的结果:

发现加载的php.ini的配置文件果然不一致,然后查找php/bin目录,编辑/etc/profile文件在最后一行添加一个环境变量:

export PATH="/usr/local/php/bin:$PATH"

最后保存并退出执行以下命令:

source /etc/profile

总结

        就是cli加载的php配置文件,与web服务器加载的php配置文件不一致导致的。只要同意他两的加载配置文件就好了。最后关于那个laravel的.env文件拉去不下来,可以将.env.local复制一份更名为.env就好了

你可能感兴趣的:(php,linux)