–help | 显示帮助信息 |
–version | 显示版本 |
–quiet, –silent | 不显示checking……信息 |
–cache-file=FILE | 在指定文件中存储测试结果 |
–no-create | configure脚本运行结束后不输出结果文件,常用于正式编译前的测试。 |
–srcdir=DIR | 源文件库所在目录 |
–prefix=PREFIX | 体系无关文件的顶级安装目录PREFIX ,也就PHP的安装目录 |
–exec-prefix=EPREFIX | 体系相关文件的顶级安装目录EPREFIX ,把体系相关的文件安装到不同的位置可以方便地在不同主机之间共享体系相关的文件 |
–bindir=DIR | 用户可执行目录DIR。用于存放PHP的支持程序 |
–sbindir=DIR | 系统管理员可执行目录DIR ,用于存放运行PHP服务器所必须的服务程序 |
–libexecdir=DIR | 程序可执行目录DIR ,也就是动态加载模块目录 |
–sysconfdir=DIR | 只读的单一机器数据目录DIR ,用于存放php.ini之类的服务器配置文件 |
–sharedstatedir=DIR | 可改写的体系无关数据目录DIR |
–localstatedir=DIR | 可改写的单一机器数据目录DIR |
–libdir=DIR | 对象代码库目录DIR |
–includedir=DIR | PHP的C头文件目录DIR |
–oldincludedir=DIR | 非gcc的C头文件目录DIR |
–datadir=DIR | PHP服务器只读的体系无关数据目录DIR |
–infodir=DIR | 信息文档目录DIR |
–localedir=DIR | 地区相关数据DIR |
–mandir=DIR | 手册文档目录DIR |
–program-prefix=PREFIX | 在安装的程序名前面加上前缀 |
–program-suffix=SUFFIX | 在安装的程序名前面加上后缀 |
-program-transform-name=PROGRAM | 在运行的时候要运行sed程序脚本 |
–build=BUILD | 指定编译工具所在系统的系统类型BUILD |
–host=HOST | 指定Apache HTTP服务器将要进行交叉编译时运行的目标系统类型HOST |
–target=TARGET | 指定交叉编译所产生的目标代码类型 |
--disable-FEATURE | 关闭特征选项 |
--enable-FEATURE[=ARG] | 启用特征选项 |
--with-PACKAGE[=ARG] | 使用封装 |
--without-PACKAGE | 禁用封装 |
–x-includes=DIR | 在目录中包含X头文件 |
–x-libraries=DIR | 在目录中包含X库文件 |
--with-libdir=NAME | 库文件查找路径设置…/XXX/lib/ |
--disable-rpath | 禁用传递其他运行库搜索路径,关闭额外的运行库文件 |
--with-aolserver=DIR | 指定AOLserver网站服务器的安装路径 |
--with-apxs[=FILE] | 编译出共享的apache 1.x版本的共享模块所存放的路径 |
--with-apache[=DIR] | 编译Apache1.x版本的模块,目录是apache的软件根目录。 |
--enable-mod-charset | 为apache的mod_charset模块启用传输表模式。(俄文的apache使用) |
--with-apxs2filter[=FILE] | 实验性:编译apache2.0的共享过滤模块。参数是apache apxs工具的路径文件 |
--with-apxs2[=FILE] | 编译共享的apache2.0处理程序的模块。参数是apache apxs工具的路径文件 |
--with-apache-hooks[=FILE] | 实验性:编译共享的apache1.0的hooks模块。参数是apache apxs工具的路径文件 |
--with-apache-hooks-static[=DIR] | 实验性:编译apache1.0的hooks模块。参数是apache apxs工具的路径文件 |
--enable-mod-charset | 为apache的mod_charset模块启用传输表模式。 |
--with-caudium[=DIR] | 为Caudium服务器编译Pick模块。参数为Caudium软件的目录。 |
--disable-cli | 编译禁用CLI的PHP版本。这个参数需要--without-pear (this forces --without-pear) |
--with-continuity=DIR | 编译php为连续服务模块。参数为安装Continuity Server的根目录。 |
--enable-embed[=TYPE] | 实验性:建立内嵌的SAPI库。参数为shared、static。 |
--with-isapi[=DIR] | 为Zeus web服务器建立ISAPI模块。 |
--with-milter[=DIR] | 编译PHP为Milter应用程序 |
--with-nsapi=DIR | 为Netscape/iPlanet/Sun Web服务器编译PHP为NSAPI模块。 |
--with-phttpd=DIR | 编译PHP为phttpd模块 |
--with-pi3web[=DIR] | 编译PHP为Pi3web模块 |
--with-roxen=DIR | 编译PHP为Pike模块。参数为ROXEN软件的路径。 |
--enable-roxen-zts | 编译Roxen的模块,使用Zend线程安全模式。 |
--with-thttpd=SRCDIR | 编译PHP为thttpd模块 |
--with-tux=MODULEDIR | 编译PHP为TUX模块(仅适用于linux下) |
--with-webjames=SRCDIR | 编译PHP为WebJames模块(仅适用于RISC系统) |
--disable-cgi | 编译禁用CGI的PHP版本 |
--enable-fastcgi | 在CGI二进制中启用FastCGI。 |
--enable-force-cgi-redirect | 若使用 CGI VERSION 模式来执行 PHP 的设,打开本选项会增加安全性。例如用户读 http://my.host/cgi-bin/php/secret/doc.html 遇到比较了解 PHP 系统的黑客级用户可能会自已输入以下网址 http://my.host/secret/doc.html 来读取相关信息。若 PHP 和 Apache 编译在一起,让 PHP 变成 Apache 的一部份,则不需要加入本选项。 |
--enable-discard-path | 打开这个选项,用户就不能透过浏览器读取.htaccess 等和系统安全相关的文件。 |
--disable-path-info-check | 禁用url参数。如果此项启用,则如/info.php/test?a=b将不工作。 |
--enable-gcov | 请用GCOV代码覆盖率(仅用于开发人员使用) |
--enable-debug | 带调试符号的编译 |
--with-layout=TYPE | 显示安装文件的布局。参数为PHP或GNU |
--with-config-file-path=PATH | php.ini文件位置 |
--with-config-file-scan-dir=PATH | 扫描配置文件的路径 |
--enable-safe-mode | 启用安全模式(默认开启) |
--with-exec-dir[=DIR] | 在安全模式目录下仅允许可执行文件,有时为了系统的安全性,会指定 PHP 程序一定要在哪个目录执行。 |
--enable-sigchild | 使用PHP自带的SIGCHLD处理器 |
--enable-magic-quotes | 默认激活magic quotes。可让程序在执行时自动加入反斜线的引入字符。 |
--enable-libgcc | 启用libgcc的精确链接 |
--disable-short-tags | 默认禁用短形式的<?作为php代码的开始标记 |
--enable-dmalloc | 启用dmalloc(dmalloc是Linux C编程侦测记忆体溢出工具) |
--disable-ipv6 | 禁用IPv6支持 |
--enable-fd-setsize | 设置描述集的大小 |
语法:--with-EXTENSION=[shared[,PATH]](注:并非所有模块都可编译成共享方式)
--disable-all | 关闭默认为启用的所有扩展功能 |
--disable-libxml | 禁用LIBXML支持 |
--with-libxml-dir[=DIR] | libxml安装目录,打开libxml2库的支持 |
--with-openssl[=DIR] | 启用openssl支持,加密传输时用到的 |
--with-kerberos[=DIR] | 包含kerberos支持 |
--without-pcre-regex | 禁用pcre(perl兼容正则表达式)支持。 |
--with-zlib[=DIR] | 启用zlib支持 |
--with-zlib-dir=<DIR> | 定义zlib安装所在的目录 |
--enable-bcmath | 打开高精确度函数。必须要先安装本函数库,本选项方有效。 |
--with-bz2[=DIR] | 包含BZip2支持 |
--enable-calendar | 启用日历转换支持 |
--disable-ctype | 禁用ctype功能 |
--with-curl[=DIR] | 启用cURL支持 |
--with-curlwrappers | 使用cURL作为网址流 |
--enable-dba | 构架捆绑模块的DBA。要建立扩展的共享模块使用--enable-dba=shared参数。 |
--with-qdbm[=DIR] | 启用QDBM支持 |
--with-gdbm[=DIR] | 启用GDBM支持 |
--with-ndbm[=DIR] | 启用NDBM支持 |
--with-db4[=DIR] | 启用Berkeley DB4支持 |
--with-db3[=DIR] | 启用Berkeley DB3支持 |
--with-db2[=DIR] | 启用Berkeley DB2支持 |
--with-db1[=DIR] | 启用Berkeley DB1支持/仿真 |
--with-dbm[=DIR] | 启用DBM支持 |
--without-cdb[=DIR] | 启用CDB支持(捆绑方式) |
--disable-inifile | 启用INI支持(捆绑方式) |
--disable-flatfile | 启用QDBM支持(捆绑方式) |
--enable-dbase | 启用捆绑的dbase库 |
--disable-dom | 禁用DOM支持 |
--with-libxml-dir[=DIR] | 启用libxml2并指定其安装目录 |
--enable-exif | 启用EXIF支持(从图片中获取元数据) |
--with-fbsql[=DIR] | 包含FrontBase支持 |
--with-fdftk[=DIR] | 包含FDF支持 |
--disable-filter | 禁用输入过滤支持 |
--with-pcre-dir | perl的正则库案安装位置 |
--enable-ftp | 启用ftp支持 |
--with-openssl-dir[=DIR] | 指定openssl的安装目录 |
--with-gd[=DIR] | 启用GD支持并指定GD库的安装目录 |
--with-jpeg-dir[=DIR] | 指定libjpeg的安装目录 |
--with-png-dir[=DIR] | 指定libpng的安装目录 |
--with-zlib-dir[=DIR] | 指定libz的安装目录 |
--with-xpm-dir[=DIR] | 指定libXpm的安装目录 |
--with-ttf[=DIR] | 指定FreeType 1.x的安装目录 |
--with-freetype-dir[=DIR] | 指定FreeType2的安装目录 |
--with-t1lib[=DIR] | 指定T1lib支持 |
--enable-gd-native-ttf | 启用TureType字符功能 |
--enable-gd-jis-conv | 启用JIS-mapped日语字体支持 |
--with-gettext[=DIR] | 包含GNU gettext支持 |
--with-gmp[=DIR] | 启用GNU MP支持 |
--disable-hash | 禁用hash支持 |
--without-iconv[=DIR] | 禁用iconv支持 |
--with-imap[=DIR] | 包含IMAP支持。指定c-client安装目录 |
--with-kerberos[=DIR] | 启用kerberos支持并指定其目录 |
--with-imap-ssl[=DIR] | 启用ssl支持并指定openssl目录 |
--with-interbase[=DIR] | 启用interbase支持并指定其目录 |
--disable-json | 禁用JavaScript对象顺序话支持 |
--with-ldap[=DIR] | 包含LDAP支持 |
--with-ldap-sasl[=DIR] | 包含Cyrus SASL支持 |
--enable-mbstring | 启用多字节字符串的支持 |
--disable-mbregex | 禁用多字节正则表达式的支持 |
--disable-mbregex-backtrack | 禁用多字节正则表达式回溯检查 |
--with-libmbfl[=DIR] | 使用外部的libmbfl并制定其目录 |
--with-mcrypt[=DIR] | 启用编解码功能,需安装 mcrypt 函数库。 |
--with-mhash[=DIR] | 包含mhash支持 |
--with-mime-magic[=FILE] | 启用mime_magic支持(不推荐使用!) |
--with-ming[=DIR] | 包含MING支持 |
--with-msql[=DIR] | 包含mSQL支持 |
--with-mssql[=DIR] | 包含MSSQL-DB支持,并指定FreeTDS软件目录 |
--with-mysql[=DIR] | 包含MySQL支持 |
--with-mysql-sock[=DIR] | 定位mysql的unix 套接字指针。如果未指定,则按默认位置搜索。 |
--with-zlib-dir[=DIR] | 设置zlib的安装目录。 |
--with-mysqli[=FILE] | 包含MySQLi支持。参数为mysql_config的位置。 |
--enable-embedded-mysqli | 启用embedded支持。 |
--with-ncurses[=DIR] | 包含ncurses支持。 |
--with-oci8[=DIR] | 包含Oracle支持。如果使用Oracle客户端安装则使用--with-oci8=instantclient,/path/to/oic /lib |
--with-adabas[=DIR] | 包含Adabas D支持 |
--with-sapdb[=DIR] | 包含SAP DB支持 |
--with-solid[=DIR] | 包含Solid支持 |
--with-ibm-db2[=DIR] | 包含IBM DB2支持 |
--with-ODBCRouter[=DIR] | 包含ODBCRouter支持。 |
--with-empress[=DIR] | 包含empress支持 |
--with-empress-bcs[=DIR] | 包含Empress本地访问支持。 |
--with-birdstep[=DIR] | 包含Birdstep支持 |
--with-custom-odbc[=DIR] | 包括用户自定义的ODBC的支持。目录是ODBC安装的主目录。确定定义了CUSTOM_ODBC_LIBS并且在include目录下有 odbc.h的头文件你要在QNX上为Sybase SQL Anywhere定义如下:运行此之前,配置脚本 CPPFLAGS=”-DODBC_QNX -DSQLANY_BUG” |
--with-iodbc[=DIR] | 包含iODBC支持 |
--with-esoob[=DIR] | 包含Easysoft OOB支持 |
--with-unixODBC[=DIR] | 包含unixODBC支持 |
--with-dbmaker[=DIR] | 包含DBMaker支持 |
--enable-pcntl | 启用pcntl支持。 |
--disable-pdo | 禁用PHP数据对象支持。 |
--with-pdo-dblib[=DIR] | 启用DBLIB-DB支持。目录为FreeTDS主目录。 |
--with-pdo-firebird[=DIR] | 启用Firebird支持。 |
--with-pdo-mysql[=DIR] | 启用PDO:mysql支持。 |
--with-zlib-dir[=DIR] | 设置PDO:MySQL的zlib支持 |
--with-pdo-oci[=DIR] | 设置PDO:Oracle OCI支持。为Oracle安装客户端SDK使用--with-pdo-oci=instantclient,prefix,version参数 |
--with-pdo-odbc=flavour,dir | 启用“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支持。 |
--without-pdo-sqlite[=DIR] | 启用SQLite 3支持。 |
--with-pgsql[=DIR] | 启用PostgreSQL支持并指定其软件根目录或者pg_config的路径 |
--disable-posix | 禁用POSIX-like支持 |
--with-pspell[=DIR] | 包含PSPELL支持GNU |
--with-libedit[=DIR] | 包含libedit readline更换(仅用于CLI和CGI) |
--with-readline[=DIR] | (CLI/CGI only)包含readline支持(仅用于CLI和CGI) |
--with-recode[=DIR] | 包含recode支持 |
--disable-reflection | 禁用reflection支持。 |
--disable-session | 禁用session支持 |
--with-mm[=DIR] | 为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-ucd-snmp-hack | 包含UCD |
--enable-soap | 启用SOAP支持 |
--with-libxml-dir=DIR | 启用SOAP:LIBXML2支持。 |
--enable-sockets | 启用sockets支持 |
--disable-spl | 禁用标准PHP库 |
--without-sqlite=DIR | 不包含sqlite支持。 |
--enable-sqlite-utf8 | 启用SQLite的UTF-8支持。 |
--with-regex=TYPE | 正则表达式库类型。 |
--with-sybase[=DIR] | 包含Sybase-DB支持。 |
--with-sybase-ct[=DIR] | 包含Sybase-CT支持。 |
--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 | 为XMLRPC-EPI启用libexpat(不推荐) |
--disable-xml | 禁用XML支持。 |
--with-libxml-dir=DIR | 启用libxml2支持 |
--with-libexpat-dir=DIR | 启用libexpat支持(不推荐) |
--disable-xmlreader | 禁用XMLreader支持。 |
--with-libxml-dir=DIR | 启用XMLreader的libxml2支持。 |
--with-xmlrpc[=DIR] | 打开xml-rpc的c语言支付 |
--with-libxml-dir=DIR | 启用XMLRPC-EPI:libxml2支持 |
--with-libexpat-dir=DIR | 启用XMLRPC-EPI:libexpat支持(不推荐) |
--with-iconv-dir=DIR | 启用XMLRPC-EPI:iconv支持 |
--disable-xmlwriter | 禁用XMLWriter支持 |
--with-libxml-dir=DIR | 启用XMLReader:libxml2支持。 |
--with-xsl[=DIR] | 启用XSL支持 |
--enable-zip | 包含zip读写支持 |
--with-zlib-dir[=DIR] | 启用zip:zlib支持 |
--with-pear=DIR | 在目录中安装pear |
--without-pear | 禁用pear |
--with-zend-vm=TYPE | 设置虚拟机调度方法,参数为CALL, SWITCH或GOTO |
--enable-maintainer-zts | 启用线程安全模式(仅用于代码维护人员使用) |
--disable-inline-optimization | 如果编译zend_execute.lo失败,则使用此参数 |
--enable-zend-multibyte | 编译zend多字节支持。 |
--with-tsrm-pth[=pth-config] | 使用GNU方式管理线程 |
--with-tsrm-st | 使用SGI静态线程方式管理线程 |
--with-tsrm-pthreads | 使用POSIX线程方式管理线程 |
--enable-shared[=PKGS] | 编译共享模块 |
--enable-static[=PKGS] | 编译静态模块 |
--enable-fast-install[=PKGS] | 启用快速安装优化方式 |
--with-gnu-ld | 假设C编译器使用GNU ld |
--disable-libtool-lock | 避免锁死(可能破坏并联的编译) |
--with-pic | 尝试仅使用PIC或non-PIC对象 |
--with-tags[=TAGS] | 包括额外的配置 |
CGI方式安装相关参数
--enable-fpm | CGI方式安装的启动程序 |
--enable-fastCGI | 支持fastcgi方式启动PHP |
--enable-force-CGI-redirect | 重定向方式启动PHP |
--with-ncurses | 支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库 |
|
|
|
|
|
|
如果是生产模式,pear、shmop、ftp等,都不推荐使用。不熟悉的类库和不常用的库,也不推荐使用。magic-quote、 session.auto_start、PHP服务器信息、PHP报错信息等在编译完成后,应该第一时间关闭,避免暴露服务器信息。
PHP对应的Web Server模式,Module、fastcgi、fpm只需要一种即可。指定了--with-apxs2=/usr/local/apache/bin/apxs以后,就不要再激活--enable-fpm和--enable-fastCGI,apxs是以php module的模式加载PHP的。
系统:Centos6.4最小安装+开发工具包
PHP相关软件:pcre
使用yum一键安装所有依赖库文件:
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gd gd-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
# tar zxvf libiconv-1.14.tar.gz
# cd libiconv-1.14
# ./configure
# make && make install
# tar zxvf libmcrypt-2.5.7.tar.gz
# cd libmcrypt-2.5.7
# ./configure
# make && make install
# cd libltdl
# ./configure --enable-ltdl-install
# make && make install
下载地址:http://downloads.sourceforge.net/mhash/
# tar zxvf mhash-0.9.9.9.tar.gz
# cd mhash-0.9.9.9/
# ./configure
# make && make install
# vi /etc/ld.so.conf 添加一行:/usr/local/lib
# ldconfig重新加载动态链接库
下载地址:http://downloads.sourceforge.net/mcrypt/
# tar zxvf mcrypt-2.6.8.tar.gz
# cd mcrypt-2.6.8
# ./configure
# make && make install
# ldconfig再次重新加载动态链接库
# 常用配置项:
# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-gd \
--enable-gd-native-ttf \
--with-zlib \
--with-libxml-dir \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-zip \
--enable-soap \
--enable-sockets \
--enable-fpm
# make ZEND_EXTRA_LIBS='-liconv'
# make install
# 如果是与Apache一起安装需要加入以下配置(要求apache 打开SO模块)
--with-apxs2=/usr/local/apache/bin/apxs
# 如果是与Nginx一起安装需要加入以下配置
--enable-fpm
# cp php.ini-development /usr/local/php/etc/php.ini
# vi /usr/local/php/etc/php.ini
# 设置date.timezone = PRC
在httpd.conf文件<IfModule mime_module><\IfModule>之间插入行:AddType application/x-httpd-php .php
# 如果不存在nginx用户则创建
# useradd nginx -M -s /sbin/nologin
# 复制配置文件
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# vi php-fpm.conf
# 设置user = nginx
# 设置 group = nginx
# 加入服务列表
# cp /soft/local/src/php-5.5.3/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm
# chkconfig --add php-fpm
# 然后就可以使用service php-fpm start|stop|restart启动关闭或重启php-fpm服务
# service php-fpm start
# 检查服务是否启动成功
# netstat -tunpl | grep php-fpm
三、扩展模块安装
下载地址:http://pecl.php.net/package/memcache
# tar zxvf memcache-2.2.7.tgz
# cd memcache-2.2.7
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
完成之后会显示扩展文件的安装路径,类似:/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
# 编辑php.ini
# 确保extension_dir的路径为make install之后显示的路径
# 加入extension = memcache.so
软件准备:libmemcached、memcached
libmemcached下载地址:https://launchpad.net/libmemcached/+download
memcached下载地址:http://pecl.php.net/package/memcached
#安装libmemcached
# tar zxvf libmemcached-1.0.17.tar.gz
# cd libmemcached-1.0.17
# ./configure --prefix=/usr/local/libmemcached --with-memcached
# make && make install
#安装memcached
# tar zxvf memcached-2.1.0.tgz
# cd memcached-2.1.0
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
# make && make install
#完成之后会显示扩展文件的安装路径,类似:/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
# 编辑php.ini
# 确保extension_dir的路径为make install之后显示的路径
# 加入extension = memcached.so