如何在旧版本/世界中安装较新的端口(PHP >5.1)?

如何在旧版本/世界中安装较新的端口(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

答案1

  1. 安装 cvsup

    cd /usr/ports/net/cvsup-without-gui 进行安装清理

  2. 为 ports 树配置一个 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 源,对于 6.x-STABLE,将 8 改为 6)

  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
    
  5. 更新你的 php 扩展(最常见的扩展都收集到元端口中):

    cd /usr/ports/lang/php5-extensions
    make config
    [select the extensions you want built from the list]
    make install clean
    
  6. 如果这是针对 Apache 服务器的,您可能需要更改那里的配置。但这取决于它的设置方式。

链接:
手册 - 使用 CVSup
手册 - 使用 Ports
手册 - Apache HTTP 服务器(包括一些 PHP 信息)

编辑:
有几个选项。您可以重命名当前的 ports 目录(保留它,同时获取新副本并从那里更新 PHP)。此方法的优点是,在您的机器上构建 PHP 应该会导致适当的库依赖关系已经存在。此外,您的原始 cvsup 文件中有 6.2 标签,这意味着您只会获得 6.2-RELEASE 附带的端口;不会更新任何内容。如果您想再次下载原始端口树的副本(您可以删除端口树并使用 cvsup 再次下载整个内容),这很有用,但除此之外,它没有什么用处,因为什么都没有改变。

另一种方法是下载更新的软件包并手动安装。由于共享库已过期且必须使用预构建的二进制文件,这种方法很可能行不通;但它肯定会保护您当前的 ports 树。

您可以从FreeBSD FTP 站点。您将需要 php5.tbz(或 php52.tbz)以及您当前已安装的任何扩展(确保您获取相应的版本,5 或 52,并记住 5 是版本 5.3)。

然后pkd_delete -f [pkg_name]使用 重新安装每个包并从包文件中安装它们pkg_add [package.tbz]

我不确定版本之间的依赖关系差异是什么,因此您有可能需要升级其他端口(尽管我认为这种情况不太可能)。

相关内容