编译 PHP 并将其安装在一个目录下

编译 PHP 并将其安装在一个目录下

我必须在工作中编译几个版本的 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文件。

相关内容