【问题标题】:Compiling PHP 5.1.6 from source - php -v and phpinfo() version discrepancy从源代码编译 PHP 5.1.6 - php -v 和 phpinfo() 版本差异
【发布时间】:2011-01-24 02:23:33
【问题描述】:

我刚刚购买了一个运行 Ubuntu 的 VPS,我需要使用 PHP 5.1.6 安装 LAMP 堆栈。 VPS 没有安装 PHP(使用 php -v 从 shell 进行检查)并且安装了 Apache/2.2.12。我从源代码安装了 PHP 5.1.6 并用 Apache 2.2 编译它(使用 libapache2-mod-php5),尝试了一个运行良好的 phpinfo() 测试,但是,phpinfo() 显示 PHP 版本为 5.2.1(启用了 JSON ),而在 shell 中运行 php-v 显示为 5.1.6。有人知道这里可能会发生什么吗?我需要确保我运行的是 PHP 5.1.6。

提前感谢您的帮助!

【问题讨论】:

  • 这不是超级用户的问题吗?
  • 这是一个普通的不受支持的 VPS,我需要自己配置,这很好,只要我能解决这个问题

标签: php linux ubuntu sysadmin


【解决方案1】:

php -v 给出 php 的 cli 安装版本,而 phpinfo 给出作为 apache 模块安装的版本。

如果你没有在任何地方使用 cli php,你应该可以在 apache 之外运行 php 脚本。 但理想情况下,您应该解决此问题。

【讨论】:

  • 谢谢s1d。问题是我需要使用 5.1.6 版和 apache(用于 web devt),所以我需要重新配置它。这次我使用“--with-apx2=/path/to/apxs”(我上次错过了)再次运行了 ./configure - 但在重新启动 apache 后,我仍然显示 PHP 5.2.1。我是否必须删除 libapache2-mod-php5 模块(除了重新安装 apache 之外不知道如何执行此操作)并重新运行 ./configure?
  • 我认为问题在于,当您从源代码编译 php 时,您的 apache 和 libapache2-php5-mod 已通过 ubuntu 软件包安装。当您通过 apt-get install 安装 libapache2-php5-mod 时,它会将 repo 中的相关 php 包作为依赖项,如 packages.ubuntu.com/hardy/libapache2-mod-php5 中所示您将需要卸载 apache,然后从源代码安装 apache 而不是使用 ubuntu repos 做你想做的事。
  • 嗯,有道理,我确实使用 apt-get 来安装 libapache2-php5-mod。好的,所以我需要卸载 apache 并从源代码重新安装,以及所有必要的模块,是时候检查文档以了解如何正确执行此操作了!
猜你喜欢
  • 2018-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
  • 2021-04-10
  • 2011-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多