phpinfo和php -m 加载的php.ini不一致

phpinfo和php -m 加载的php.ini不一致_第1张图片

目的:
将phpinfo在web中展示的php.ini和在命令行中展示的php.ini加载路径设置一致。
phpinfo和php -m 加载的php.ini不一致_第2张图片

在这里插入图片描述

原本的php.ini加载路劲是: /usr/local/lib/php.ini


解决思路:

(1)which php 查看服务器加载的php的位置,这里原来是: /usr/bin/php ,这里的php的超链接之前是失效的。

(2)将超链接指定到php7,即我们想要的位置,进入到 /usr/bin中,属于命令: ln -s /usr/local/php7/bin/php php

(3)然后在 /etc/profile 中指定php的环境变量: export PATH=$PATH:/usr/local/php7/bin , 并 source /etc/profile使其生效

(4)一顿以上操作后,php -m 和phpinfo中加载php.ini配置就一致了。

引发的原因就是: /usr/local/bin/(应该是默认的php安装位置) 下边有php的编译运行文件,应该是之前多次编译安装php,未指定php的路径导致的,然后将这里的php改了名字,做了以上操作,就可以了。

修改完成后,才觉得了了一件事,要不然一直觉得别扭。。。。。。


参考流程:

1、执行的是php -m .并不是类似 /usr/local/php/bin/php -m 这说明他的PHP存在于某个环境变量路径里。

2、也就是恰恰上面这个原因给忽略了。我们一直始终认为 环境变量是正确的。

3、最后,执行了 重新编译PHP。问题依旧。

4、最后,执行了 which php .这时发现PHP在 /usr/bin 里面。

5、也就是说不管怎么编译PHP,最终执行的php -m 的那个PHP可执行程序 永远是定位在 /usr/bin里面的那个老PHP

6、已经忘了怎么操作使之 /usr/bin里也有个PHP

7、解决方法如下:删掉 /usr/bin里面的那个老PHP 。把环境变量 设置到/usr/local/php/bin里。

8、再次执行 php -m 一切正常了。

你可能感兴趣的:(PHP,php,开发语言)