PHP Linux Configure参数详解

php多用linux系统下运行,本篇介绍Configure的参数详解。

“configure”配置这个包以适应多种系统。

用法: ./configure [OPTION]... [VAR=VALUE]...

要分配环境变量(例如,CC, CFLAGS…),请将它们指定为VAR = VALUE。

以下是一些有用变量的描述。

选项的默认值在括号中指定。

配置:
-h, --help 显示这个帮助并退出
--help=short 显示特定包的选项
--help=recursive 显示包含的所有包的简短帮助
-V, --version 显示版本信息并退出
-q, --quiet, --silent 检测环境
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache 简写的 `--cache-file=config.cache' 操作
-n, --no-create 不创建输出文件
--srcdir=DIR 显示PHP目录

安装目录:
--prefix=PREFIX 指定安装目录
[/usr/local]
--exec-prefix=EPREFIX 依赖包安装目录
[PREFIX]

默认情况下,“make install”将安装所有文件`/usr/local/bin', `/usr/local/lib'等等。
可以指定安装目录`/usr/local' 使用 `--prefix',例如 `--prefix=$HOME'。

为了更好地控制,请使用下面的选项。

调试安装目录:
--bindir=DIR 用户可执行文件 [EPREFIX/bin]
--sbindir=DIR 系统管理员可执行文件 [EPREFIX/sbin]
--libexecdir=DIR 程序的可执行文件 [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR 类库路径 [EPREFIX/lib]
--includedir=DIR C语言头文件 [PREFIX/include]
--oldincludedir=DIR 为non-gcc提供的C语言头文件 [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info 文档 [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man 文档 [DATAROOTDIR/man]
--docdir=DIR 文档 root [DATAROOTDIR/doc/PACKAGE]
--htmldir=DIR html 文档 [DOCDIR]
--dvidir=DIR dvi 文档 [DOCDIR]
--pdfdir=DIR pdf 文档 [DOCDIR]
--psdir=DIR ps 文档 [DOCDIR]

系统类型:
--build=BUILD 建立基本配置 [guessed]
--host=HOST cross-compile 建立运行在主机上的程序。 [BUILD]
--target=TARGET 目标建立编译器配置 [HOST]

可选包:
--disable-option-checking 忽略 --enable/--with 选项
--disable-FEATURE 不包括 FEATURE 包 (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] 包括 FEATURE 包 [ARG=yes]
--with-PACKAGE[=ARG] 使用 PACKAGE 包 [ARG=yes]
--without-PACKAGE 不使用 PACKAGE 包 (same as --with-PACKAGE=no)
--with-libdir=NAME Look for libraries in .../NAME rather than .../lib
--disable-rpath 关闭额外的运行库文件
--enable-re2c-cgoto 允许-g标志re2c使用计算goto gcc扩展
--disable-gcc-global-regs 是否启用GCC全局变量

SAPI模块:

--with-apxs2=FILE 建造公共的Apache 2.0处理程序模块。文件是可选的
Apache apxs工具apxs的路径名
--disable-cli 禁止创建CLI的PHP版本
(参数需要 --without-pear)
--enable-embed=TYPE 实验性: 建立内嵌的SAPI库。参数为shared、static。 [TYPE=shared]
--enable-fpm 打上php-fpm补丁后才有这个参数,cgi方式安装的启动程序。
--with-fpm-user=USER 设置php-fpm的运行用户为USER。 (默认: nobody)
--with-fpm-group=GRP 设置php-fpm的运行组,一般与with-fpm-user参数相同 (默认: nobody)
--with-fpm-systemd 激活系统集成功能,开启后php-fpm可以上报给系统一些信息
--with-fpm-acl 使用POSIX 访问控制列表,5.6.5版本起有效
--with-litespeed 编译PHP为litespeed模块
--enable-phpdbg 开启phpdbg调试器
--enable-phpdbg-webhelper 开启phpdbg web SAPI支持
--enable-phpdbg-debug 在调试模式下开启phpdbg
--disable-cgi 禁用创建CGI的PHP版本

普通参数设置:

--enable-gcov 请用GCOV代码覆盖率(仅用于开发人员使用)
--enable-debug 编译时加入调试符号
--with-layout=TYPE 设置安装后的文件布局。TYPE 可以是 PHP 或者 GNU。 [TYPE=PHP]
--with-config-file-path=PATH
设置 php.ini 路径[PREFIX/lib]
--with-config-file-scan-dir=PATH
扫描配置文件的路径
--enable-sigchild 使用PHP自带的SIGCHLD处理器
--enable-libgcc 启用libgcc的精确链接
--disable-short-tags 默认禁用短形式的<?作为php代码的开始标记
--enable-dmalloc 启用dmalloc(dmalloc是Linux C编程侦测记忆体溢出工具)
--disable-ipv6 关闭ipv6支持
--enable-dtrace 开启DTrace(动态跟踪)支持
--enable-fd-setsize 设置描述集的大小

扩展:

--with-EXTENSION=shared[,PATH] 编译成共享方式

并非所有扩展都能编译成共享方式

例子: --with-foobar=shared,/usr/local/foobar/

o 将foobar扩展编译为共享扩展。
o 指定foobar包安装路径是/usr/local/foobar/

--disable-all 关闭默认启用的所有扩展功能

--disable-libxml 禁用LIBXML支持
--with-libxml-dir=DIR LIBXML安装目录
--with-openssl=DIR 包括openssl支持 (OpenSSL版本号必须大于等于 0.9.8)
--with-kerberos=DIR OPENSSL: 包括Kerberos支持
--with-system-ciphers OPENSSL: 用系统自带的密码清单(cipher list)去替代硬编码(hard coded)
--with-pcre-regex=DIR 将正则表达式pcre替换为regex。DIR为regex路径
--with-pcre-jit 构建PCRE与JIT编译的支持。
--without-sqlite3=DIR 禁用SQLite3扩展。DIR是SQLite3安装目录的前缀。
--with-zlib=DIR 开启ZLIB支持 (ZLIB版本号必须大于等于 1.0.9)
--with-zlib-dir=<DIR> ZLIB的安装路径
--enable-bcmath 启用bcmatch(精度数学)
--with-bz2=DIR 开启BZip2支持
--enable-calendar 启用日历转换支持
--disable-ctype 禁用ctype功能
--with-curl=DIR 启用cURL支持
--enable-dba 构架捆绑模块的DBA。要建立扩展的共享模块使用--enable-dba=shared参数。
--with-qdbm=DIR DBA: QDBM 支持
--with-gdbm=DIR DBA: GDBM 支持
--with-ndbm=DIR DBA: NDBM 支持
--with-db4=DIR DBA: Oracle Berkeley DB 4.x or 5.x 支持
--with-db3=DIR DBA: Oracle Berkeley DB 3.x 支持
--with-db2=DIR DBA: Oracle Berkeley DB 2.x 支持
--with-db1=DIR DBA: Oracle Berkeley DB 1.x 支持/模仿
--with-dbm=DIR DBA: DBM 支持
--with-tcadb=DIR DBA: Tokyo Cabinet abstract DB support
--without-cdb=DIR DBA: CDB 支持 (捆绑)
--disable-inifile DBA: INI 支持 (捆绑)
--disable-flatfile DBA: FlatFile 支持 (捆绑)
--disable-dom 禁止 DOM 支持
--with-libxml-dir=DIR DOM: libxml2安装目录前缀
--with-enchant=DIR 启用 enchant 支持.GNU Aspell 版本号必须高于 1.1.3
--enable-exif 启用EXIF支持(从图片中获取元数据)
--disable-fileinfo 禁用fileinfo支持
--disable-filter 关闭 input filter 支持
--with-pcre-dir FILTER: pcre安装前缀
--enable-ftp 开启ftp支持
--with-openssl-dir=DIR FTP: openssl安装前缀
--with-gd=DIR 开启GD图像处理库的支持。 DIR是GD库安装目录
--with-webp-dir=DIR GD: 设置libwebp安装前缀的路径
--with-jpeg-dir=DIR GD: 设置libjpeg安装前缀的路径
--with-png-dir=DIR GD: 设置libpng安装前缀的路径
--with-zlib-dir=DIR GD: 设置libz安装前缀的路径
--with-xpm-dir=DIR GD: 设置到libXpm安装前缀的路径
--with-freetype-dir=DIR GD: 设置到FreeType 2安装前缀的路径
--enable-gd-native-ttf GD: 开启TrueType字符串函数
--enable-gd-jis-conv GD: 开启JIS-mapped日语字体支持
--with-gettext=DIR 包括GNU gettext支持
--with-gmp=DIR 包括GNU MP支持
--with-mhash=DIR 包括mhash支持
--disable-hash 禁用hash支持
--without-iconv=DIR 禁用iconv支持
--with-imap=DIR 包含IMAP支持。指定c-client安装目录
--with-kerberos=DIR IMAP: 包括Kerberos支持。DIR是Kerberos安装前缀
--with-imap-ssl=DIR IMAP: 包括SSL支持。DIR是OpenSSL安装前缀
--with-interbase=DIR 启用interbase支持。 DIR是interbase安装前缀 /opt/firebird
--enable-intl 开启国际化支持(internationalization)
--with-icu-dir=DIR 开启ICU库并指定目录
--disable-json 禁用JavaScript json对象支持
--with-ldap=DIR 包括LDAP支持
--with-ldap-sasl=DIR LDAP: 包含 Cyrus SASL 支持
--enable-mbstring Enable 启用多字节字符串的支持
--disable-mbregex MBSTRING:禁用多字节的正则表达式支持
--disable-mbregex-backtrack
MBSTRING: 禁用多字节正则表达式回溯检查
--with-libmbfl=DIR MBSTRING: 使用外部的libmbfl并制定其目录
--with-onig=DIR MBSTRING: 使用外部的onig并制定其目录,如果没有设置DIR,将使用绑定的oniguruma
--with-mcrypt=DIR 包含 mcrypt 支持
--with-mysqli=FILE 包含 MySQLi 支持. FILE 为mysql_config安装路径。
如果没有传递值或mysqlnd作为启动,将使用MySQL本地驱动程序
--enable-embedded-mysqli
MYSQLi: 启用embedded支持。注意:不支持MySQL本地驱动!
--with-mysql-sock=SOCKPATH
MySQLi/PDO_MYSQL选项使用: mysql.sock文件路径
如果未指定,则搜索默认位置
--with-oci8=DIR 包括Oracle数据库OCI8支持。DIR默认为$ORACLE_HOME
如果使用Oracle客户端安装则使用--with-oci8=instantclient,/path/to/oic/lib
--with-odbcver=HEX Force support for the passed ODBC version. A hex number is expected, default 0x0300.
Use the special value of 0 to prevent an explicit ODBCVER to be defined.
--with-adabas=DIR 包含 Adabas D 支持 /usr/local
--with-sapdb=DIR 包含 SAP DB 支持 /usr/local
--with-solid=DIR 包含 Solid 支持 /usr/local/solid
--with-ibm-db2=DIR 包含 IBM DB2 支持 /home/db2inst1/sqllib
--with-ODBCRouter=DIR 包含 ODBCRouter.com 支持 /usr
--with-empress=DIR 包含 Empress 支持 \$EMPRESSPATH (Empress 版本 >= 8.60)
--with-empress-bcs=DIR
包含Empress本地访问支持 \$EMPRESSPATH (Empress 版本 >= 8.60)
--with-birdstep=DIR 包括 Birdstep 的支持。DIR 是 Birdstep 的基本安装目录,默认为 /usr/local/birdstep。

--with-custom-odbc=DIR 包括用户自定义 ODBC 的支持。DIR 是 ODBC 的基本安装目录,
默认为 /usr/local。要确认定义了 CUSTOM_ODBC_LIBS 并且在 include 目录中有某个 odbc.h。
例如:对于 QNX 下的 Sybase SQL Anywhere 5.5.00,在运行 configure 脚本之前应该先定义以下环境变量:
CPPFLAGS=”-DODBC_QNX -DSQLANY_BUG” LDFLAGS=-lunix CUSTOM_ODBC_LIBS=”-ldblib -lodbc”。

--with-iodbc=DIR 包含 iODBC 支持 /usr/local
--with-esoob=DIR 包含 Easysoft OOB 支持 /usr/local/easysoft/oob/client
--with-unixODBC=DIR 包含 unixODBC 支持 /usr/local
--with-dbmaker=DIR 包含 DBMaker 支持
--disable-opcache 禁用 Zend OPcache 支持
--disable-opcache-file 禁用基于文件的缓存
--disable-huge-code-pages
禁用复制 PHP CODE 页面到 HUGE PAGES
--enable-pcntl 启用pcntl支持 (CLI/CGI only)
--disable-pdo 禁止 PHP 对数据抽象层(PDO)支持
--with-pdo-dblib=DIR PDO: DBLIB-DB支持。DIR是FreeTDS的主目录
--with-pdo-firebird=DIR PDO: Firebird 支持. DIR是Firebird的主目录。默认 /opt/firebird
--with-pdo-mysql=DIR PDO: 包含 MySQLi 支持. FILE 为mysql_config安装路径。
如果没有传递值或mysqlnd作为启动,将使用MySQL本地驱动程序
--with-zlib-dir=DIR PDO_MySQL: 设置libz安装前缀的路径
--with-pdo-oci=DIR PDO: Oracle OCI支持。为Oracle安装客户端SDK使用?with-pdo-oci=instantclient,prefix,version参数

--with-pdo-odbc=flavour,dir
PDO: 启用“flavour”ODBC支持。
在dir目录的include和lib目录下查找。“flavour”参数值可以是ibm-db2, unixODBC, generic。
如果dir省略,则使用默认值。如果你试图通过generic使用一个如若不支持的驱动程序。
为generic ODBC提供的语法格式如下:?with-pdo-odbc=generic,dir,libname,ldflags,cflags。
作为共享的编译 后的扩展文件的名一般为pdo_odbc.so

--with-pdo-pgsql=DIR PDO: PostgreSQL的支持。DIR是PostgreSQL安装目录或pg_config的路径
--without-pdo-sqlite=DIR
PDO: sqlite 3的支持。DIR是sqlite安装目录打包
--with-pgsql=DIR 包括PostgreSQL的支持。DIR是PostgreSQL安装目录或pg_config路径
--disable-phar 禁用 phar 支持
--disable-posix 禁用 POSIX-like 支持
--with-pspell=DIR 包括 PSPELL 支持 GNU Aspell版本0.50.0或更高版本
--with-libedit=DIR 包含 libedit readline 更换(仅用于CLI和CGI)
--with-readline=DIR 包含 readline 支持 (仅用于CLI和CGI)
--with-recode=DIR 包含 recode 支持
--disable-session 禁用 session 支持
--with-mm=DIR SESSION: 为session存储启用mm支持
--enable-shmop 启用 shmop 支持
--disable-simplexml 禁用 SimpleXML 支持
--with-libxml-dir=DIR SimpleXML: libxml2 安装目录
--with-snmp=DIR 启用 SNMP 支持
--with-openssl-dir=DIR SNMP: openssl 安装目录
--enable-soap 启用 SOAP 支持
--with-libxml-dir=DIR SOAP: libxml2 安装目录
--enable-sockets 启用 sockets 支持
--enable-sysvmsg 启用 sysvmsg 支持
--enable-sysvsem 启用系统 V 信号支持
--enable-sysvshm 启用系统 V 共享内存支持
--with-tidy=DIR 包含 TIDY 支持
--disable-tokenizer 禁用 tokenizer 支持
--enable-wddx 启用 WDDX 支持
--with-libxml-dir=DIR WDDX: libxml2 安装目录
--with-libexpat-dir=DIR WDDX: 为XMLRPC-EPI启用libexpat(不推荐)
--disable-xml 禁用 XML 支持
--with-libxml-dir=DIR XML: libxml2 安装目录
--with-libexpat-dir=DIR XML: libexpat 安装目录 (不推荐)
--disable-xmlreader 禁用 XMLReader 支持
--with-libxml-dir=DIR XMLReader: libxml2 安装目录
--with-xmlrpc=DIR 包含 XMLRPC-EPI 支持
--with-libxml-dir=DIR XMLRPC-EPI: libxml2 安装目录
--with-libexpat-dir=DIR XMLRPC-EPI: 为XMLRPC-EPI启用libexpat(不推荐)
--with-iconv-dir=DIR XMLRPC-EPI: iconv支持
--disable-xmlwriter 禁用 XMLWriter 支持
--with-libxml-dir=DIR XMLWriter: libxml2 安装目录
--with-xsl=DIR 包含 XSL 支持. DIR是libxslt的安装目录(libxslt 版本 >= 1.1.0)
--enable-zip 包含 Zip read/write 支持
--with-zlib-dir=DIR ZIP: 设置libz安装路径
--with-pcre-dir ZIP: pcre安装路径
--with-libzip=DIR ZIP: 使用libzip
--enable-mysqlnd 开启 mysqlnd 支持
--disable-mysqlnd-compression-support
禁用对mysqlnd中的MySQL压缩协议的支持
--with-zlib-dir=DIR mysqlnd: 设置libz安装目录

PEAR:

--with-pear=DIR 安装 pear 。 DIR为安装目录[PREFIX/lib/php]
--without-pear 禁用 pear

Zend:

--enable-maintainer-zts 启用线程安全模式(仅用于代码维护人员使用)
--disable-inline-optimization
如果编译zend_execute.lo失败,则使用此参数
--enable-zend-signals 使用zend信号处理

TSRM:

--with-tsrm-pth=pth-config
使用GNU方式管理线程
--with-tsrm-st 使用SGI静态线程方式管理线程
--with-tsrm-pthreads 使用POSIX线程方式管理线程 (默认)

Libtool:

--enable-shared=PKGS 编译共享模块 default=yes
--enable-static=PKGS 编译静态模块 default=yes
--enable-fast-install=PKGS
启用快速安装优化方式 default=yes
--with-gnu-ld C编译器使用GNU ld default=no
--disable-libtool-lock 避免锁死(可能破坏并联的编译)
--with-pic 尝试仅使用PIC或non-PIC对象 default=use both
--with-tags=TAGS 包括额外的配置

重要的环境变量:
CC C编译器的命令
CFLAGS C编译器标志
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C 预处理程序
YACC The `Yet Another Compiler Compiler' implementation to use.
Defaults to the first program found out of: `bison -y', `byacc',
`yacc'.
YFLAGS The list of arguments that will be passed by default to $YACC.
This script will default YFLAGS to the empty string to avoid a
default value of `-d' given by some make applications.
CXX C++ 编译器的命令
CXXFLAGS C++ 编译器标志
CXXCPP C++ 预处理程序

使用这些变量覆盖' configure'或help所做的选择
查找具有非标准名称/位置的库和程序。
向包提供者报告错误。

猜你喜欢

转载自www.cnblogs.com/q3619940/p/10671907.html