php -m和在apache 中運(yùn)行phpinfo不一致(這力默認(rèn)apache是把php編譯成模塊的),譬如模塊加載不一致。
理論上這是不可能的。除非你的PHP做了特別的設(shè)置(此處不表,-c參數(shù)即可搞定), 默認(rèn)情況下,兩者都是一致的。
終于發(fā)現(xiàn)了問題。接下來放出原因,大家可能也會(huì)碰到
1、執(zhí)行的是php -m .并不是類似 /usr/local/php/bin/php -m 這說明他的PHP存在于某個(gè)環(huán)境變量路徑里。
2、也就是恰恰上面這個(gè)原因給忽略了。我們一直始終認(rèn)為 環(huán)境變量是正確的。
3、最后,執(zhí)行了 重新編譯PHP。問題依舊。
4、最后,執(zhí)行了 which php .這時(shí)發(fā)現(xiàn)PHP在 /usr/bin 里面。
5、也就是說不管怎么編譯PHP,最終執(zhí)行的php -m 的那個(gè)PHP可執(zhí)行程序 永遠(yuǎn)是定位在 /usr/bin里面的那個(gè)老PHP
6、已經(jīng)忘了怎么操作使之 /usr/bin里也有個(gè)PHP
7、解決方法如下:刪掉 /usr/bin里面的那個(gè)老PHP 。把環(huán)境變量 設(shè)置到/usr/local/php/bin里。
8、再次執(zhí)行 php -m 一切正常了。
本次解決問題的結(jié)論是:
不要相信一些“你認(rèn)為不可能出錯(cuò)的步驟”。往往有的步驟你覺得“絕對(duì)不可能出錯(cuò)”,而問題恰恰就在你最信任的步驟里。