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 一切正常了。

本次解决问题的结论是:

不要相信一些“你认为不可能出错的步骤”。往往有的步骤你觉得“绝对不可能出错”,而问题恰恰就在你最信任的步骤里。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 架构师必须知道的26项PHP安全实践 PHP是一种开源服务器端脚本语言,应用很广泛。Apache web服务器提供...
    meng_philip123阅读 6,121评论 1 161
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 不知不觉里,那些女孩都另有所属,而你始终单身。 你再也不会去告诉一个女孩你的心意,而是选择将其深藏于心底深处,独自...
    司才林阅读 358评论 8 10
  • 单一职责原则 单一职责原则的英文名称是Single Responsibility Principle,简称是SRP...
    Gino_Gu阅读 482评论 0 0