Freebsd

如何在舊版本/世界上安裝更新的埠(PHP > 5.1)?

  • July 13, 2010

在我的 FreeBSD(家庭)伺服器上,我安裝了 6.2-RELEASE-p8。這“包括”PHP 5.1。我現在需要安裝 PHP 5.2(由於依賴關係,5.3 可能也可以工作)。

現在我的(新手)問題是:(如何)我可以獲得埠集合(csup?)讓我在我的 6.2-RELEASE 上安裝 PHP 5.2?這甚至可能嗎?這是一件好事(或至少可以接受)嗎?

我是否必須密切關注 PHP 擴展(例如 php5-gd 或 php5-mysql 等),還是應該/是否會自動更新它們?

如果有的話,我也很感激手冊的連結。我似乎在我嘗試過的各種搜尋框中輸入了錯誤的術語:(。

編輯:

很抱歉可能造成的混亂。我確實已經/使用了 csup。這是我目前的 ports-supfile 的內容:

*default host=cvsup.ch.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELEASE_6_2_0 # Release FreeBSD 6.2
*default delete use-rel-suffix
*default compress
ports-all
  1. 安裝 cvsup

cd /usr/ports/net/cvsup-without-gui make install clean 2. 為埠樹配置一個 CVSUP 文件,創建一個包含以下內容的文件:

*default tag=.
*default host=cvsup.FreeBSD.org
*default prefix=/usr
*default base=/var/db
*default release=cvs delete use-rel-suffix
ports-all

如果要更新 src 樹,請將第一行更改為您想要的版本,最後一行如下所示:

*default tag=RELEND_8
src-all

(這將適用於最新的 8.x-STABLE 源,將 8 更改為 6 用於 6.x-STABLE) 3. 對更新文件執行 cvsup:cvsup cvsup.file. 等等,這將需要 15 到 60 分鐘,具體取決於必須更新的內容。 4. 從埠樹安裝較新的 PHP。

cd /usr/ports/lang/php5 (for 5.3, or php52 for 5.2)
make install clean
  1. 更新您的 php 擴展(最常見的擴展被收集到元埠中):
cd /usr/ports/lang/php5-extensions
make config
[select the extensions you want built from the list]
make install clean
  1. 如果這是針對 Apache 伺服器,您可能需要更改那裡的配置。但這取決於它的設置方式。

連結:

手冊 - 使用 CVSup

手冊 - 使用埠

手冊 - Apache HTTP 伺服器(包括一些 PHP 資訊)

編輯:

有幾個選項。您可以重命名目前的埠目錄(在您獲取新副本並從那裡更新 PHP 時保留它)。這條路線的優點是在您的機器上建構 PHP 應該會導致正確的庫依賴項已經存在。此外,您的原始 cvsup 文件中包含 6.2 標籤,這意味著您只能獲得 6.2-RELEASE 附帶的埠;什麼都不會更新。如果您想再次下載原始埠樹的副本,這很有用(您可以刪除埠樹並使用 cvsup 再次下載整個內容),但否則就不是很有用,因為沒有任何變化。

另一種方法是下載更新的軟體包並手動安裝它們。由於共享庫已過時並且必須使用預建構的二進製文件,這很有可能不起作用;但它肯定會隔離您目前的埠樹。

您可以從FreeBSD FTP 站點下載最新的軟體包。您將需要 php5.tbz(或 php52.tbz),以及您目前安裝的任何擴展(確保您獲得了相應的版本,5 或 52,並記住 5 是 5.3 版)。

然後pkd_delete -f [pkg_name]每個包並從封包件中重新安裝它們pkg_add [package.tbz]

我不確定版本之間的依賴差異是什麼,因此您也有可能必須升級其他埠(儘管我認為這不太可能)。

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