如何安装更新版本的PHP作为一个包?

我一直试图从源代码安装特定/不同的PHP版本,但是当其他软件包依赖于“php软件包”来安装时,这会导致问题。 最后一次我试图安装PHP作为一个包,这是后面几个版本。

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

如果你想要Linux发行版中最新的最stream行的软件。 然后,您需要从源代码构build软件(理想情况下创build自己的软件包),并且必须重新构build依赖于该软件包的任何软件包。

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

既然你正在谈论PHP,你可以基本上把它分解成几个不同的场景,具体取决于与PHP相关的包。

  • PHP扩展(任何直接加载到PHP中以增强其行为的PHP模块)。 这些必须重build,如果你重buildPHP。 一个简短的列表将包括php5-dev, php5-gd, php5-mysql, php5-ldap, php5-odbc php5-pgsql, php5-sqlite ,但是在这个列表中几乎每个软件包都需要apt-cache search 'php5-'如果您手动编译PHP,请重build。
  • 提供使用软件的软件包。 大多数这些软件包你不需要重新编译,你可以很容易地使用equivs来欺骗他们,这是一个基本上允许你创build一个元软件包的工具,以便其他软件包认为你已经安装了一个软件包。从源安装。 基本上这将是任何PEAR包,以及任何networking应用程序(moodle,wordpress,drupal,仙人掌等)。

如果您不确定软件包属于哪个类别,请查看源代码包的详细信息。 如果它依赖于php5-dev,那么它将不得不重新编译。

另一个有点不精确的方式来总结这个会是这样的。 如果从属应用程序使用应用程序二进制接口 ,则在重build父包时需要重新编译它。 如果一个软件包使用应用程序编程接口 ,那么可能不需要重新编译,您可以使用equivs或FPM工作 。

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

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

但是你应该注意,如果这个软件包出了什么问题,你应该把bug / info报告给dotdeb,因为这些软件包不是Debian发行版的一部分。