【问题标题】:PHP version in terminal differs from the one in the browser终端中的 PHP 版本与浏览器中的不同
【发布时间】:2016-03-21 07:23:34
【问题描述】:

我正在使用 RHEL 6.6 和 Apache 2.2.15。 当我在终端中输入php -v 时,我得到了正确的版本:5.6.11 不幸的是,在网络浏览器中phpinfo() 返回:5.3.3

服务器只能访问内网,所以不能使用yum之类的东西。 尽管显然安装了两个不同的 php 版本,但只有一个文件 libphp5.so 并且链接在 httpd.conf 文件中。

另外,当我在控制台中输入php -i 时,我会得到结果:Loaded Configuration file: none

知道如何强制 Apache 使用新版本吗?

【问题讨论】:

    标签: php apache redhat rhel


    【解决方案1】:

    安装了两个不同的 PHP 版本。这不完全正常,但也不异常。命令行 php 可执行文件与 Apache 加载的 php 模块 (mod_php) 不同——它们是不同的程序/包。

    通常你安装每个相同的版本,但如果你安装命令行 php 比模块晚得多,它可以是一个更新的版本。

    检查你安装的包,我敢打赌你有 mod_php 5.3.3 和 php 5.6.1。如果是这样,您需要重新安装 mod_php 和所有 php 模块/扩展。

    注意:这可能会使 mod_php 升级到更新的版本,例如 5.6.123 或 5.7.x,以您的存储库中的最新版本为准。为了安全起见,您应该同时重新安装两者以确保获得相同的版本。

    【讨论】:

    • 实际上,在安装的包中我只有旧版本(5.3.3)的php。我完全不知道为什么终端中的 php -v 命令会给出 5.6.11 的结果。
    • 它可能是从源代码手动构建和安装的,而不是使用软件包。你能用yum list的输出更新你的问题吗?
    • 问题已解决。不幸的是,需要以艰难的方式做到这一点:重新安装 apache 和 php,但它现在就像一个魅力。原来apache的默认安装没有apxs并且不能接受额外的模块。
    猜你喜欢
    • 2012-10-06
    • 2020-09-13
    • 1970-01-01
    • 2014-06-27
    • 2021-08-07
    • 1970-01-01
    • 2020-07-05
    • 2021-12-30
    • 1970-01-01
    相关资源
    最近更新 更多