php -m和phpinfo不一致的问题

php -m和在apache 中运行phpinfo不一致(这力默认apache是把php编译成模块的),譬如模块加载不一致。

理论上这是不可能的。除非你的PHP做了特别的设置(此处不表,-c参数即可搞定), 默认情况下,两者都是一致的。

终于发现了问题。接下来放出原因,大家可能也会碰到

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 -m和phpinfo不一致的问题)