如何以包的形式安装较新版本的 PHP?

如何以包的形式安装较新版本的 PHP?

我一直尝试从源代码安装特定/不同的 PHP 版本,但当其他软件包依赖于要安装的“php 软件包”时,这会导致问题。上次我尝试将 PHP 作为软件包安装时,它落后了几个版本。

如何以满足依赖 PHP 的其他软件包的方式安装较新/最新的 PHP?

答案1

如果您想要 Linux 发行版中最新、最出色的前沿软件。那么您需要从源代码构建软件(最好创建自己的软件包),并且必须重新构建依赖于该软件包的任何软件包。

虽然这是一般规则,但实际情况要复杂得多。

既然您正在谈论 PHP,那么您基本上可以根据与 PHP 相关的包将其分为几个不同的场景。

  • PHP 扩展(任何直接加载到 PHP 中以增强其行为的 PHP 模块)。如果您重建 PHP,则必须重建这些扩展。简短的列表包括php5-dev, php5-gd, php5-mysql, php5-ldap, php5-odbc php5-pgsql, php5-sqlite,但如果您手动编译 PHP,则此列表中的几乎每个包apt-cache search 'php5-'都需要重建。
  • 提供使用软件的软件包。大多数这些软件包你不需要重建,你可以很容易地通过使用当量,这是一个工具,基本上允许您创建一个元包,这样当您从源代码安装时,其他包会认为您已经安装了包。基本上,这可以是任何 PEAR 包和任何 Web 应用程序(moodle、wordpress、drupal、cacti 等)。

如果你不确定某个包属于哪个类别,请查看源包详细信息。如果它依赖于 php5-dev,则必须重新编译。

另一种不太精确的总结方式是这样的。如果依赖应用程序使用应用程序二进制接口,那么在重建父包时需要重新编译它。如果包使用应用程序接口,那么它可能不需要重建,你可以让它与 equivs 一起工作,或者纤维增强塑料

答案2

您可能正在考虑使用Dotdeb 存储库而不是自己重新构建软件包。Dotdeb 使用其库、Nginx、Redis、MySQL 和一些其他常用软件包构建了最新版本的 PHP,以匹配 Debian 发行版(现在是 squeeze)的稳定分支。

例如,该存储库中当前可用的 PHP 版本是 5.4.0。

然而您应该注意,如果这些软件包有问题,您应该向 dotdeb 报告错误/信息,因为这些软件包不是 Debian 发行版的一部分。

相关内容