在我的FreeBSD(家庭)服务器上,我安装了6.2-RELEASE-p8。 这个“包含”PHP 5.1。 我现在需要安装PHP 5.2(因为依赖关系,5.3也可能工作)。
现在我的(新手)问题是:(如何)我可以得到ports集合(csup?),让我安装PHP 5.2的6.2-RELEASE? 这甚至有可能吗? 这是一个好的(或者至less是可以接受的)的事情吗?
我将不得不对PHP扩展(例如php5-gd或php5-mysql等)有一个警惕的眼睛或应该/他们会自动更新?
如果可以的话,我也会很感激这个手册的链接。 我似乎把错误的条款,我尝试了各种search框:(。
编辑:
对不起,可能会有困惑。 我已经有/使用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
为ports树configurationCVSUP文件,创build一个包含以下内容的文件:
*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源,为6.x-STABLE更改8到6)
对更新文件运行cvsup: cvsup cvsup.file 。 等等,这将需要15至60分钟,取决于什么必须更新。
从ports树安装较新的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服务器,则可能需要在那里更改configuration。 但这取决于它是如何设置的。
链接:
手册 – 使用CVSup
手册 – 使用端口
手册 – Apache HTTP服务器 (包括一些PHP信息)
编辑:
有几个选项。 您可以重命名当前的端口目录(保存它,而您抓取一个新的副本,并从那里更新PHP)。 这条路线的优点是在你的机器上build立PHP应该导致已经存在的正确的库依赖关系。 另外,你原来的cvsup文件里面有6.2标签,这意味着你只能得到6.2-RELEASE的端口; 什么都不会更新。 如果要再次下载原始端口树的副本(您可以删除端口树并使用cvsup再次下载整个事物),这是非常有用的,但是否则不是很有用,因为没有任何变化。
另一种方法是下载更新的软件包并手动安装。 有一个很好的机会,因为共享库过时,不得不使用预先构build的二进制文件; 但它绝对会隔离你当前的端口树。
您可以从FreeBSD FTP站点下载最新的软件包。 您将需要php5.tbz(或php52.tbz)以及您目前安装的任何扩展(确保获得相应的版本,5或52,并记住5是版本5.3)。
然后,使用pkg_add [package.tbz]将每个软件包的pkd_delete -f [pkg_name]从软件包文件中重新安装。
我不确定这两个版本之间的依赖性差异,所以有可能需要升级其他端口(尽pipe我认为这不太可能)。