编译安装php的配置参数详细解析

时间:2023-11-09 18:07:56

./configure --prefix=/usr/local/php --enable-opcache --enable-fpm --enable-sockets --enable-mysqlnd --enable-mbstring --enable-gd-native-ttf --enable-bcmath --with-fpm-user=php --with-fpm-group=php --with-pdo-mysql --with-gd --with-jpeg-dir=/usr/lib/ -with-freetype-dir=/usr/lib --with-curl --with-openssl

[php-fpm]

--enable-fpm
--with-fpm-user 设置 FPM 运行的用户身份
--with-fpm-group 设置 FPM 运行时的用户组
--with-fpm-systemd - 启用 systemd 集成 (默认 - no)
--with-fpm-acl - 使用POSIX 访问控制列表 (默认 - no) 5.6.5版本起有效

[杂项]

--with-layout=TYPE

设置被安装文件的布局。TYPE 是 PHP(默认)或 GNU。

With old style [PHP] is:

$libdir/extensions/$extbasedir

while new style [GNU] is:

$libdir/$extbasedir

I speculate it was to keep PHP in line with other "GNU/Linux" standards
--with-pear=DIR

在 DIR(默认为 PREFIX/lib/php)中安装 PEAR

PHP Extensions And Repository的缩写,类似的有composer。composer针对的是一个项目。PEAR则管理了整个全局
--without-pear
不安装 PEAR。
--enable-sigchild
使用 PHP 自带的 SIGCHLD 处理器。
SIGCHLD,在一个进程终止或者停止时,将SIGCHLD信号发送给其父进程,按系统默认将忽略此信号,如果父进程希望被告知其子系统的这种状态,则应捕捉此信号。
 --disable-rpath

禁用在搜索路径中传递其他运行库。
--enable-libgcc

启用 libgcc 的精确链接。
--enable-php-streams

包含试验性的 PHP 流。不要使用此选项,除非是要测试代码!
--with-zlib-dir[=DIR]
定义 zlib 的安装目录。
开启zlib 可以让php像对普通文件一样read和write Gzip压缩文件。
--with-tsrm-pthreads
使用 POSIX 线程(默认)。
POSIX POSIX表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准。
IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称。POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行
--with-config-file-path=PATH
设置 php.ini 的搜索路径。默认为 PREFIX/lib。

[PHP选项]

--with-libdir
指定Uxin系统库文件目录用于构建PHP。 对于64位系统, 需要指定lib64目录,比如--with-libdir=lib64

[SAPI选项]

--with-aolserver=DIR
指定 AOLserver 的安装路径。
AOLserver是一款由AOL出品的web server
--with-apache[=DIR]

编译静态 Apache 模块。DIR 是 Apache 编译目录的顶层,默认为 /usr/local/apache
apache加载模块有两种方式。
  动态加载,一般加载的是module_name.so这个文件,httpd在启动时不加载任何模块,而是要通过loadmodule语法加载进httpd
  静态加载,在编译apache时,把所有模块编译进httpd中。那么这些模块会在httpd启动时一并加载进来。
静态加载的httpd会比动态加载的效率高一些,但组件灵活度不如动态的灵活。模块需要重新编译,那么apache也得重新编译
--with-apxs[=FILE]
编译共享的 Apache 模块。FILE 是可选的 Apache apxs 工具的路径,默认指向 apxs。请确认指定的 apxs 已经安装在服务器中,并且它不是 Apache 源码包中的那个 apxs。 --with-apxs2[=FILE]
编译共享的 Apache 2.0 模块。FILE 是可选的 Apache apxs 工具的路径,默认指向 apxs。
--with-caudium=DIR
为使用 Caudium 编译 PHP 为一个 Pike 模块。DIR 是 Caudium 服务器目录,默认为 /usr/local/caudium/server。
Caudium是一款轻量型web server --with-isapi=DIR
为 Zeus 服务器以 ISAPI 模块方式编译 PHP。
isapi 是 microsoft 提供的internet server API
--with-nsapi=DIR
将PHP编译为Netscape/iPlanet/Sun webservers 的模块。DIR为webserver的目录
又一个Web server --with-pi3web=DIR
为 Pi3Web 服务器编译 PHP 模块。
--with-roxen=DIR 以 Pike 模块方式编译 PHP。DIR 是 Roxen 的根目录,默认为 /usr/local/roxen/server。 --enable-roxen-zts 使用 Zend 线程安全(ZTS)编译 Roxen 模块。 --with-servlet[=DIR] 包含 servlet 支持。DIR 是 JSDK 的安装目录。此 SAPI 要求 java 扩展必须作为共享模块编译到 PHP 中。 --with-thttpd=SRCDIR 编译 PHP 为 thttpd 模块。 --with-tux=MODULEDIR 编译 PHP 为 TUX 模块(仅在 Linux 下有效)。 --with-webjames=SRCDIR 编译 PHP 为 WebJames 模块(仅在 RISC 操作系统中有效)
--disable-cgi
禁止编译 CGI 版本的 PHP。PHP 4.3. 之后的版本有效。
PHP5..0起,这个选项会启用FastCGI,而在以前,必须使用--enable-fastcgi启用FastCGI。