目的:
将phpinfo在web中展示的php.ini和在命令行中展示的php.ini加载路径设置一致。
原本的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 一切正常了。