hp多用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=
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 if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory 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所做的选择 查找具有非标准名称/位置的库和程序。 向包提供者报告错误。 转载自:https://www.cnblogs.com/q3619940/p/10671907.html