本节包含了在 Gentoo Linux 系统下安装 PHP 的说明和提示。
当可以下载和自己编译 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:
可以在 Gentoo 网站上的 Portage 手册中获得更多关于 emerge 的信息。
如果需要使用 Apache 2,可以在上例中简单的使用 emerge apache 命令。
在上一节,PHP 安装时几乎没有安装任何激活的模块。在写本文档时,唯一被激活的模块是 XML,因为 PEAR 需要它。这可能不是想要的,不久就会发现需要更多激活的模块,例如 MySQL、gettext、GD 等。
当自己从源代码编译 PHP 时,需要使用 configure 激活所需模块。而在 Gentoo 中,只需使用 USE 标记,它会被自动传递到配置脚本中。要了解 USE 标记在 emerge 中是怎么工作的,可以尝试:
可以从输出中看到,PHP 可用使用很多 USE 标记。请仔细查看和选择所需要的标记。如果选择的标记所需的库没有安装,Portage 会自动编译它们。可以再次使用 emerge -pv 命令以了解 Portage 会根据 USE 标记编译哪些内容。例如,如果没有安装 X,而在 USE 标记中包括了 X,Portage 将会首先编译 X,然后再编译 PHP。这会花去好几个小时。
如果要编译 PHP 并使其支持 MySQL、cURL 和 GD,使用的命令为:
在上例中,不要忘记同时 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 论坛。