Ubuntu

如何將較新版本的 PHP 作為軟體包安裝?

  • March 15, 2012

我一直在嘗試從原始碼安裝特定/不同的 PHP 版本,但是當其他軟體包依賴於要安裝的“php 軟體包”時,這會導致問題。上次我嘗試將 PHP 作為一個包安裝時,它落後了幾個版本。

如何以滿足其他依賴 PHP 的包的方式安裝更新/最新的 PHP?

如果您想要 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-'此列表中的每個包都需要重新建構。
  • 提供使用的軟體的軟體包。大多數這些包你不必重建,你可以很容易地通過使用equivs來欺騙它們工作,這是一個基本上允許你創建元包的工具,以便其他包認為你已經安裝了一個包,當你從源安裝。基本上,這將是任何 PEAR 包和任何 Web 應用程序(moodle、wordpress、drupal、cacti 等)。

如果您不確定某個包屬於哪個類別,請查看源包詳細資訊。如果它依賴於 php5-dev,那麼它必須重新編譯。

總結這一點的另一種有點不精確的方法是這樣的。如果依賴應用程序使用Application Binary Interface,則在重建父包時需要重新編譯它。如果包使用Application Programming Interface,那麼它可能不需要重新建構,您可以使其與 equivs 或FPM一起使用。

引用自:https://serverfault.com/questions/369399