gpt4 book ai didi

php - PHP 配置选项 "--prefix=PREFIX"有什么作用?

转载 作者:可可西里 更新时间:2023-11-01 13:17:00 27 4
gpt4 key购买 nike

我听说在 Linux 上编译 PHP 时设置 --prefix=PREFIX 选项将允许您一次安装多个 PHP 而不会发生冲突。 (我认为如果未设置默认值是 /usr/local)。但是,我不确定它到底做了什么,也不确定使用什么是好的设置。此外,我还听说将其设置为默认值以外的值可能会使某些 PHP 扩展更难安装。

./configure --prefix=PREFIX ...

我刚刚意识到一些其他选项如 --exec-prefix 可能仍需要设置为 /usr/local 因为它们默认为值--前缀。如果 prefix 设置为 web/phpalt 之类的东西,这会导致问题,因为 --sbindir 之类的东西被设置为 ``--exec-prefix +/sbin`。

Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data in DIR
[PREFIX/share]
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data in DIR
[PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM
run sed PROGRAM on installed program names

根据 PHP 的说法,您似乎可以设置以下选项而不会产生任何副作用。

./configure --prefix=/custom/path --exec-prefix=/usr/local

然而,这只是一个猜测。

最佳答案

如果您想在 5.2 和 5.3 之间切换,最好将 Apache 和 PHP 从源代码编译到特殊目录中。

基本上,您可以将 apache 和 php5.2 编译到某个地方,例如/web/php52(为 apache 和 php 提供 --prefix=/web/php52 以配置。然后执行相同的操作对于 apache/php53,前缀为/web/php53

您甚至可以采取一些技巧,例如在两个 apache 安装之间符号链接(symbolic link)各种配置以保持一致(所以唯一的区别是一个运行 5.3 而另一个运行 5.2)

然后当你想启动你的 5.2 服务器时,你只需说:

$ /web/php52/bin/apachectl start

然后切换到5.3

$ /web/php52/bin/apachectl stop
$ /web/php53/bin/apachectl start

我有一些(旧的)build scripts如果你在 linux 上编译(特别是 CentOS,但你也可以让它在非 redhat 发行版上很容易地工作)

关于php - PHP 配置选项 "--prefix=PREFIX"有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2889744/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com