PHP 手册
后退 | 章 4. Unix 系统下的安装 | 前进

# 在 Gentoo 系统下的安装

本节包含了在 Gentoo Linux 系统下安装 PHP 的说明和提示。

## 使用 Portage (emerge)

当可以下载和自己编译 PHP 源代码时，使用 Gentoo 的包系统安装 PHP 是最简单和干净的方法。但如果不熟悉在 Linux 下编译软件，可以使用本节提到的方法。

如果目前为止已经安装好了 Gentoo 系统，可能已经习惯于使用 Portage 了。安装 Apache 和 PHP 与安装其它系统工具没有什么不同。

首先要决定是安装 Apache 1.3.x 还是 Apache 2.x。二者均可使用 PHP，下面的步骤是基于 Apache 1.3.x 的。另一件要考虑的事情是，本地的 Portage 树是否为最新的。如果最近没有更新它，需要首先运行 emerge sync。这样，便可以使用最新稳定版本的 Apache 和 PHP。

现在一切都准备好了，可以参照下面的示例安装 Apache 和 PHP：

例子 4-7. Gentoo 下 Apache 1.3 + PHP 的安装示例

    # emerge \<apache-2
    # USE="-*" emerge php mod_php
    # ebuild /var/db/pkg/dev-php/mod_php-<your PHP version>/mod_php-<your PHP version>.ebuild config
    # nano /etc/conf.d/apache
      Add "-D PHP4" to APACHE_OPTS

    # rc-update add apache default
    # /etc/init.d/apache start

可以在 Gentoo 网站上的 Portage 手册中获得更多关于 emerge 的信息。

如果需要使用 Apache 2，可以在上例中简单的使用 emerge apache 命令。

## 配置时进行更好的控制

在上一节，PHP 安装时几乎没有安装任何激活的模块。在写本文档时，唯一被激活的模块是 XML，因为 PEAR 需要它。这可能不是想要的，不久就会发现需要更多激活的模块，例如 MySQL、gettext、GD 等。

当自己从源代码编译 PHP 时，需要使用 configure 激活所需模块。而在 Gentoo 中，只需使用 USE 标记，它会被自动传递到配置脚本中。要了解 USE 标记在 emerge 中是怎么工作的，可以尝试：

例子 4-8. 获得所有可用的 USE 标记列表

    # USE="-*" emerge -pv php

    [ebuild  N    ] dev-php/php-4.3.6-r1  -X -berkdb -crypt -curl -debug -doc
    -fdftk -firebird -flash -freetds -gd -gd-external -gdbm -gmp -hardenedphp
    -imap -informix -ipv6 -java -jpeg -kerberos -ldap -mcal -memlimit -mssql
    -mysql -ncurses -nls -oci8 -odbc -pam -pdflib -png -postgres -qt -readline
    -snmp -spell -ssl -tiff -truetype -xml2 -yaz  3,876 kB

可以从输出中看到，PHP 可用使用很多 USE 标记。请仔细查看和选择所需要的标记。如果选择的标记所需的库没有安装，Portage 会自动编译它们。可以再次使用 emerge -pv 命令以了解 Portage 会根据 USE 标记编译哪些内容。例如，如果没有安装 X，而在 USE 标记中包括了 X，Portage 将会首先编译 X，然后再编译 PHP。这会花去好几个小时。

如果要编译 PHP 并使其支持 MySQL、cURL 和 GD，使用的命令为：

例子 4-9. 使用 USE 标记安装 PHP

    # USE="-* curl mysql gd" emerge php mod_php

在上例中，不要忘记同时 emerge php 和 mod_php。php 是 PHP 的命令行版本，而 mod_php 是 PHP 的 Apache 模块版本。

## 常见问题

- 如果浏览 PHP 脚本时看到是 PHP 源代码，而不是其生成的页面，原因可能是忘记编辑 `/etc/conf.d/apache` 文件。Apache 启动时需要添加 -D PHP4 参数。要了解是否使用了该参数，可以在 Apache 运行之后输入 ps ax | grep apache 命令。

- 由于某些原因，可能在系统中安装了多个版本的 PHP。如果是这样的话，需要手动 unmerge 旧版本。使用 emerge unmerge mod_php-<old version> 命令。

- 如果是因为 Java 不能 emerge PHP，尝试在 USE 标记的开始使用 -*。如上面的例子所示。

- 如果在配置 Apache 和 PHP 的过程中遇到问题，可以使用关键字“Apache PHP”搜索 Gentoo 论坛。

后退 | 起点 | 前进
在 Solaris 下的安装 | 上一级 | Debian GNU/Linux 安装说明