我必须在工作中编译几个版本的 PHP,但我需要为每个版本运行一个 apache 服务,就像我们在 Windows 上一样。然而,配置选项似乎对所有内容都有不同的文件夹。我想知道是否有一种简单的配置方法,因此当我进行安装时,它全部位于一个文件夹中,所有扩展名位于 ext 等中,而不是分散在系统中。
我想编译5.5.1、5.3.27、5.2.17和4.3.11。
现在,这对于一个 PHP 版本来说不是问题,但对于多个版本,事情可能会以其他方式被覆盖/冲突。
说我想要一切都去/php/5.5.1/
./配置--前缀=/php/5.5.1/
还要如何配置才能将所有内容放入该文件夹中?还有其他人这样做过吗?
答案1
这--prefix
将确保所有手册页、配置文件和包含文件都在该位置编译。--exec-prefix
仅对可执行文件和扩展名执行相同操作
./configure --prefix=/php/5.5.1/ --exec-prefix=/php/5.5.1//exec
答案2
您可能想尝试使用phpbrew
而不是自己安装这些。phpbrew
是一个可以帮助管理、切换和编译不同版本的 PHP 的前端。它的工作原理类似于perlbrew
对于 Perl 来说。
例子
要查看您设置的版本:
$ phpbrew known
Available stable versions:
php-5.3.10
php-5.3.9
php-5.3.8
php-5.3.7
要安装版本:
$ phpbrew -d install --test php-5.4.0
要使用版本:
$ phpbrew use php-5.4.0RC7
要使您的默认版本成为不同的版本:
$ phpbrew switch php-5.4.0
阿帕奇怎么样
phpbrew
可以为您提供包含变体的能力,以便您可以包含 mysql 支持或 Apache 支持等内容 ( apxs
)。
$ phpbrew install php-5.3.10 +mysql +apxs2
如果您安装了自己的 Apache 版本,您可以直接phpbrew
访问它的位置:
$ phpbrew install php-5.3.10 +mysql +apxs2=/usr/local/bin/apxs2
httpd.conf
如果您将 PHP 与 Web 服务器一起使用,则需要为每个单独的 PHP 维护不同版本的 Apache文件。