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 一切正常了。
本次解决问题的结论是:
不要相信一些“你认为不可能出错的步骤”。往往有的步骤你觉得“绝对不可能出错”,而问题恰恰就在你最信任的步骤里。