如何在舊版本/世界上安裝更新的埠(PHP > 5.1)?
在我的 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
- 安裝 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
- 更新您的 php 擴展(最常見的擴展被收集到元埠中):
cd /usr/ports/lang/php5-extensions make config [select the extensions you want built from the list] make install clean
- 如果這是針對 Apache 伺服器,您可能需要更改那裡的配置。但這取決於它的設置方式。
連結:
手冊 - 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]
。我不確定版本之間的依賴差異是什麼,因此您也有可能必須升級其他埠(儘管我認為這不太可能)。