|
4 B, _; X9 s, d: F) O* R2 F5 i6 y9 J$ d
PHP 编译完成后,可以通过一个简单的函数 phpinfo() 查看关于 PHP 的所有信息。以下介绍的模块一览,皆全部来自于函数 phpinfo() 的输出信息。
& E9 y3 `5 B$ Y7 H, ~2 f, l SAPI Modules
# v5 E! \9 ~* E$ N! o; K0 E( I 什么是 SAPI?
) a' l; v, R% Z( E) x) M SAPI 即 Server API, Server Application Programming Interface。
1 t3 J# s& Y& O- x
. J! Y) `+ G4 W. }0 s* n/ U; E 1、Apache 2.0 Handler(apache2handler)- o- v$ c& L" Q8 v9 |) `" r% C
用于 Apache 2 的模块,当安装的是 PHP 5 的时候,编译出来的文件名是 libphp5.so;当安装的是 PHP 7 的时候,编译出来的文件名是 libphp7.so。" K" T/ b: _. ?' i9 o& |: p0 z
libphp5.so 或 libphp7.so 通常被安装在 Apache 的安装目录下的 modules 目录。! K7 z4 X3 J' Y; _ ]
编译的时候需指定参数 −−with-apxs2=FILE,比如 −−with-apxs2=/usr/local/apache/bin/apxs
2 t' v5 }1 f+ G6 V. L+ _3 o& C) p2 r% y" D: M3 | F
2、CGI / FastCGI( J3 _" I, C B+ G4 y' }, G
CGI,意为 Common Gateway Interface。0 Y' t* t8 Q- e J9 ?) I
通常编译安装在 PHP 安装目录 bin 下,这个可执行文件名是 php-cgi。
9 M- R$ F* v/ X" O8 W4 \7 _4 O% j* u/ t6 _! h2 t
3、CLI
% I2 @1 ]' y& d7 P& n2 o4 S CLI,意为 Command Line。命令行模式。$ L1 M3 p7 H$ P& c
通常编译安装在 PHP 安装目录 bin 下,这个可执行文件名是 php。
" ~- k0 E$ N& s3 m6 z. _ 输入 php -h 显示其用法。9 I! x4 _) g# A- e
3 {% ]& F2 O9 ~& p 4、Embed# |) X% q: M! }; K/ L; E. w; _" w/ X
默认不编译安装,除非指定编译参数 −−enable-embed. N0 D3 Q. E% g+ k& _
该模块允许在 C/C++ 语言中调用 PHP 提供的函数。6 L# y, f7 i3 S" P; M
( a3 ?) I; F5 G- { |& _* | 5、FastCGI Process Manager
' o0 Y6 k. g O; ^( H$ k- t FastCGI Process Manager,也就是 FPM,PHP FastCGI 进程的管理器。; Y7 K) G/ `. g9 U# m# |
; K+ O/ c" r" y5 }, J8 G: y9 F' S 6、litespeed; k9 A& N& G. C" L3 a
用于 LiteSpeed 的模块,默认不编译。) y% V8 i: B, `, |2 C
通过指定编译参数 −−with-litespeed 安装。 Build PHP as litespeed module, B9 P% Q1 Z; e: c l
9 b Q. ]+ z, w8 P% m+ X
7、phpdbg% q4 R) F, u) Q1 j0 E
从 PHP 5.6 开始,引入了 phpdbg,交互式调试器,用于 Debug PHP 程序,可以在不用修改代码,不影响性能的情况下控制 PHP 的运行环境。7 f. J( L9 X$ F, C k
通常编译安装在 PHP 安装目录 bin 下,这个可执行文件名是 phpdbg。
: e" A) K, d- W# I9 b4 W- o, ] PHP 5.4 和 5.5 也可以单独安装该模块。
- N2 {6 e% O) N. P7 n! [5 X: C8 f$ `% L' ]3 I
* Q, K% S* w% z+ v$ u
PHP Modules
; U) ~/ F; K. `: [8 S! k PHP 源码自带的扩展模块,根据 PHP 版本的不同略有差别,大致为以下这么 71 个模块。4 Z: F3 T2 Q+ y+ `! D) @- [
{" O$ ?( {6 W! ?- y0 W1 C1 y 1、BC Math( h: Q9 X! U& e: ?, q7 u
通过指定编译参数 −−enable-bcmath 安装。 Enable bc style precision math functions
/ f( L% u& J. M# w! a4 Z( d
% Z1 \$ k$ g9 }1 k3 d+ K 2、Bzip2
/ D8 A% }2 n9 }3 m9 } 通过指定编译参数 −−with-bz2=DIR 安装。 Include BZip2 support& Z% O0 ~8 z# A5 _5 r
Debian/Ubuntu 需安装 libbz2-dev 依赖包。2 g9 }; f0 C. E- Z/ F y Y9 j; V s# q
Redhat/CentOS 需安装 bzip2-devel 依赖包。
% O$ P1 z% C3 L" K
4 x) y. U0 e, R; N7 o 3、Calendar& Y1 d4 Y8 p9 A' ]! X
通过指定编译参数 −−enable-calendar 安装。 Enable support for calendar conversion( K. r9 W4 }3 y
3 v% u! c* p. F
4、COM and .Net% L) X- R& o& a( x4 L" T) [
Windows 专用扩展。COM 是指 Component Object Model,组件对象模型,是多项微软技术与框架的基础,包括OLE、OLE自动化、ActiveX、COM+、DCOM、Windows shell、DirectX、Windows Runtime。
" l( {2 o- V( C6 C K5 T& i. K ?# V+ _6 C8 t8 y
5、ctype
) Q& Y4 f- z- P8 w7 p! | 此扩展默认为启用,编译时可通过下列选项禁用:−−disable-ctype4 T8 Y( [- j' n
' J9 I; X4 P0 W' g2 X2 T. `- H 6、cURL z7 x7 I! S. B3 I
通过指定编译参数 −−with-curl=DIR 安装。 Include cURL support0 X- s3 d, N3 C# }
Debian/Ubuntu 需安装 libcurl4-gnutls-dev 依赖包。7 x& f+ k# a/ b4 E
Redhat/CentOS 需安装 curl-devel 依赖包。
& X, ~8 w% n: C% S7 l8 @
) B% J3 S* W+ O% H# W; c& ^ 7、Date/Time Support(date)& |" }: R; Q- X
日期和时间函数,默认编译安装,不可禁止。$ I* u. o. f5 e5 Q. `( G; Q
. A9 A5 X5 _" u q ^) P$ a 8、DBA
* W. O7 l! C. @! b 通过指定编译参数 −−enable-dba 安装。 Build DBA with bundled modules9 D. B2 m% |6 G* ?8 w2 w
该参数会默认自带 3 个参数,−−with-cdb,−−enable-inifile,inifile-flatfile,若要禁止,则需通过参数−−without-cdb=DIR,−−disable-inifile,−−disable-flatfile 实现。
b. R6 D. _, ?; Y1 B5 N o B6 P! R1 _% E" s; n, q' u
9、DB-LIB (MS SQL, Sybase)(pdo_dblib)
* x# Z6 y1 X6 u1 K$ Z7 J$ ?; W' x Windows 专用扩展。用于连接 SQL Server 和 Sybase 数据库的 PDO 驱动扩展。$ w2 M* I2 ^- M* I; f9 c0 v# }
) o) m' l; h; k; t# W
10、DOM
5 k4 d ~) [( _9 A& F 此扩展默认为启用,Document Object Model。编译时可通过下列选项禁用:−−disable-dom/ I( | r' m6 Y9 K' T6 n
7 a- R+ u0 @# v
11、enchant, f# ]% m% [ S$ B! P2 T
通过指定编译参数 −−with-enchant=DIR 安装。 Include enchant support. GNU Aspell version 1.1.3 or higher required.
# X6 y, S2 t' ?9 e 一般需指定其目录,−−with-enchant=/usr
$ l4 o, ~3 L8 r" S' h/ N Debian/Ubuntu 需安装 libenchant-dev, libpspell-dev 依赖包。
; M+ _2 P& J" Y Redhat/CentOS 需安装 enchant-devel, aspell-devel 依赖包。
$ n8 K- x/ H6 H2 a7 t0 a; Q) w$ |$ V) _( ~2 H; m0 ]9 S
12、EXIF
# l8 l8 U: `1 V6 { o1 t 通过指定编译参数 −−enable-exif 安装。 Enable EXIF (metadata from images) support" T X9 u( G' C# z6 Z% I, s$ c3 T: i; i' U
: U* }9 r5 ~2 \ X4 T
13、fileinfo( Z( l& ]& f6 F( o2 [2 }. g9 d, ~
此扩展默认为启用,fileinfo support。编译时可通过下列选项禁用:−−disable-fileinfo9 M1 g9 v* l# T6 a2 T# W+ p; C
注意:在内存比较小的机器上编译此扩展时可能会失败,因此内存加 SWAP 的容量小于 480MB 时就不要安装了。! u& K3 G& Z+ a5 ]3 I7 F
1 Q& w- Z7 |, T+ H- L3 N8 _- i/ U" ?
14、Filter
z4 M+ M- o# f; \( R: ?2 p 此扩展默认为启用,input filter support。编译时可通过下列选项禁用:−−disable-filter/ j4 ^) l5 `1 U$ m2 Y, u8 Y" H( ~
另如果要给此扩展指定 PCRE 安装目录的话,则还有以下的编译参数。
+ F& v$ d9 ^+ i! z0 `! q −−with-pcre-dir FILTER: pcre install prefix
3 [& Y6 J) s3 G" ~" g- C6 B7 z$ z$ O. w9 c% }) g
15、Firebird driver for PDO(pdo_firebird)0 Z( n# a' s/ m. N
−−with-interbase=DIR Include Firebird support. DIR is the Firebird base install directory3 P4 x: N& o$ d* X
−−with-pdo-firebird=DIR PDO: Firebird support. DIR is the Firebird base install directory. Q: j2 P* J: R6 i. }
2 m5 W% Z5 O/ h2 t3 d 16、FTP0 T( a. s8 [6 L: k; P( u
通过指定编译参数 −−enable-ftp 安装。Enable FTP support
d- D& c& b; N% } 安装该扩展还有个参数 −−with-openssl-dir=DIR FTP: openssl install prefix,可不指定,则使用系统自带 openssl 库。/ h4 I" A: J( J# s! ]
! j4 h* t; ~4 V4 E 17、GD imaging(gd)9 V* r- `" v) ~0 I9 Q* S8 f* C
通过指定编译参数 −−with-gd=DIR 安装。Include GD support. DIR is the GD library base install directory BUNDLED
# ^, _7 o0 m) b: D! ~; Q 这是一个打包式的依赖,需要依赖如下安装包。 G0 Z; Y% z6 f% h
−−with-webp-dir=DIR(PHP 7.0, 7.1 only)
% ^! C$ K5 u: L! @- c −−with-jpeg-dir=DIR3 V0 b; t j3 V# t# K9 u; F: _
−−with-png-dir=DIR5 T! W9 x. K2 g" u \+ @
−−with-zlib-dir=DIR4 _. e3 ~& o% K# W
−−with-xpm-dir=DIR: a: j$ T @' q5 G+ W8 h
−−with-freetype-dir=DIR
* g3 E M& o) e −−enable-gd-native-ttf
& B7 a% Z8 q; t; l( f/ H −−enable-gd-jis-conv- p( }/ I" C2 k M& ]! @8 W
% h) e" E& s6 M0 I# { PHP5.4、PHP5.5、PHP5.6 则还有个
; l$ k3 Y9 K5 X( v; m −−with-vpx-dir=DIR
+ d# y4 p3 `: W Debian/Ubuntu 需安装 libwebp-dev, libjpeg-dev, libpng-dev, libxpm-dev, libfreetype6-dev, libvpx-dev 依赖包。
* ? `4 b* Z/ L7 e, X Redhat/CentOS 需安装 libwebp-devel, libjpeg-devel, libpng-devel, libXpm-devel, freetype-devel, libvpx-devel 依赖包。# e" Z; i6 F/ W, v; K) @
18、GetText3 F1 F9 i/ k7 e9 W# _: e
通过指定编译参数 −−with-gettext=DIR 安装。Include GNU gettext support7 `3 U" x& J, ]9 i+ Y6 p
Debian/Ubuntu 需安装 gettext 依赖包。# r: ?5 Q8 Y& ^4 s' f3 y7 s
Redhat/CentOS 需安装 gettext, gettext-devel 依赖包。+ ~4 G- t2 g: ?5 H$ I6 g+ k0 ?
# E+ [: g' U# t1 f0 T 19、GMP; j, {1 k% r2 s& _& ]0 p
通过指定编译参数 −−with-gmp=DIR 安装。Include GNU MP support. h% w6 G& P% e4 ^
Debian/Ubuntu 需安装 libgmp-dev 依赖包。
$ D# i {" U4 z! B, o Redhat/CentOS 需安装 gmp-devel 依赖包。6 _. l3 @( |: {% h i) n1 D
, v; x6 ?, l, N/ w 20、Hash, ^ p/ S" C- d# C$ c2 [! o# V
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-hash Disable hash support# X: `( f5 A" C: ], D& L0 [
; z) {$ ^1 y! q) ? 21、iconv7 J) ?4 s7 `* A
此扩展默认为启用,编译时可通过下列选项禁用:−−without-iconv=DIR Exclude iconv support
9 R* E* }- Z* o( z
- n6 ^3 o/ G" D8 V8 K: z7 B H 22、IMAP
s c8 J' n" g; U2 ^7 `( q 通过指定以下编译参数。
% X& U) l6 c1 |' |' J" d' k3 x( X −−with-imap=DIR Include IMAP support. DIR is the c-client install prefix
- |5 b3 Z' |# H; n, j −−with-kerberos=DIR IMAP: Include Kerberos support. DIR is the Kerberos install prefix3 v4 g; ]. O- N1 M* T, ~( J3 h$ `
−−with-imap-ssl=DIR IMAP: Include SSL support. DIR is the OpenSSL install prefix! `( D8 `" f7 P$ i T0 J$ }
编译此选项时,PHP 需指定 libc-client.a 所在目录。* Q( M9 p, I+ J0 b5 ?0 a( I
. I, r5 B8 a0 E' k) \$ |. c# h3 `
23、InterBase6 R4 N9 Q8 a( S1 @/ ^, F2 f
−−with-interbase=DIR Include Firebird support. DIR is the Firebird base install directory, c- R8 P7 W' M1 [& Y1 B
f, L( C: K$ z, n2 g5 S+ A
24、Internationalization(intl)1 Y" T; A" T8 }5 l% `$ S
通过指定编译参数 −−enable-intl 安装。 Enable internationalization support
3 R0 {" U; ^9 c( f; B8 [5 ^
( U/ _( Z( G/ T! F# s 25、json
# o" \# y8 I6 `0 ]; ? 此扩展默认为启用,编译时可通过下列选项禁用:−−disable-json Disable JavaScript Object Serialization support
' |: E* W. c9 g# c
, d: @6 X/ V) }0 S. D! \( g 26、LDAP9 _& ~8 B8 t/ k1 f: o. G7 B+ A. [1 [# l
−−with-ldap=DIR Include LDAP support
" v W* [% Q' Z; z. @( W- k −−with-ldap-sasl=DIR LDAP: Include Cyrus SASL support: A: U2 j1 ?3 Z* U) e* U
Debian/Ubuntu 需安装 libldap-2.4-2, libldap2-dev 依赖包。
. `: i+ R N5 Z/ Z Redhat/CentOS 需安装 openldap, openldap-devel 依赖包。
2 n) e& U( ~) O* y$ g1 X7 Z
, M; c" R' C% p% w) ]5 j- L 27、libxml
% B1 V) w0 u) T9 R; k 此扩展默认为启用,编译时可通过下列选项禁用:−−disable-libxml Disable LIBXML support
/ b$ r2 }7 V4 k: O −−with-libxml-dir=DIR LIBXML: libxml2 install prefix# T- ^ M7 S/ o' c, G
Debian/Ubuntu 需安装 libxml2, libxml2-dev 依赖包。0 y( @! E( R8 `0 \
Redhat/CentOS 需安装 libxml2, libxml2-devel 依赖包。# |3 U6 w& [# N G9 a; ?
9 o% Y& z* K6 M, O" m4 {8 D, s
28、Multibyte String Functions(mbstring)
V3 Z9 n3 k9 h1 S) l: } 通过指定编译参数 −−enable-mbstring 安装。 Enable multibyte string support; }2 j$ L4 d& t
−−disable-mbregex MBSTRING: Disable multibyte regex support
7 x, s0 |) b' m" J' b) Z −−disable-mbregex-backtrack MBSTRING: Disable multibyte regex backtrack check' G, K j A( G
−−with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED. e9 X5 w. O; B$ z" i& p4 A8 g- G
−−with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix. If DIR is not set, the bundled oniguruma will be used
% \$ ?7 ?4 w- j/ w. |( {8 O' [$ V& f libmbfl 对 mbstring 是必要的。libmbfl 被捆绑到了 mbstring。1 i- z3 N% F" h& ~0 B+ t4 }
Debian/Ubuntu 需安装 libonig2, libonig-dev 依赖包。
2 A. a' {5 j, I) e Redhat/CentOS 需安装 oniguruma, oniguruma-devel 依赖包。/ G! s7 {& F/ ]% _: a3 R
3 f! V* l4 o% U" y9 h, E 29、mcrypt! R7 _2 }4 E& _% H8 S
通过指定编译参数 −−with-mcrypt=DIR 安装。 Include mcrypt support
4 j# v( K/ G/ i Debian/Ubuntu 需安装 libmcrypt-dev 依赖包。
2 K) f0 j" ^) U; W Redhat/CentOS 需编译安装 libmcrypt 和 mcrypt 。如果安装了 EPEL 的话,则需安装 libmcrypt-devel 依赖包。
: \' l/ w! V. e4 X7 s
. e/ G5 P: C/ L" |/ S 30、MySQL driver for PDO(pdo_mysql)% f0 I! j2 E3 F7 V3 O
−−with-mysql-sock=SOCKPATH MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer/ S V% s9 r. Q. v9 i9 G7 A9 ?1 r& P
指定系统里安装的 MYSQL 的 mysql.sock 路径。
1 D7 Q" o" ^2 r −−with-pdo-mysql=DIR PDO: MySQL support. DIR is the MySQL base directory
' [4 X( o7 a; ]( H6 |. X" I 指定系统里安装的 MYSQL 的基本目录。若未指定,则默认安装 mysqlnd(MySQL native driver): U9 v& [% d4 U7 d1 }8 P: X
# |+ {3 R4 E; c9 v% V, i! d$ l! `
31、MySQLi
* t1 T7 ?! _& } −−with-mysqli=FILE Include MySQLi support. FILE is the path to mysql_config
& W8 `4 b% u0 R 指定系统里安装的 MYSQL 的目录下的 mysql_config 文件路径。
9 \* y3 f: a4 J1 M% p1 {# l
. h4 F& `1 P' O- E3 N 32、MySQLnd, ]4 i! {2 V/ z0 j2 F
通过指定编译参数 −−enable-mysqlnd 安装。 Enable mysqlnd explicitly, will be done implicitly when required by other extensions
& Z( w) Y: M% i( i* O) X7 s" B 另如果要给此扩展指定 libz 目录的话,则还有以下的编译参数。
! W b" @2 W1 W& h1 V7 K& c −−with-zlib-dir=DIR mysqlnd: Set the path to libz install prefix/ v3 k' I' j7 y2 G) D1 C/ t. b
/ M1 o$ R; ~7 i$ R6 |0 T
33、OCI8
1 n1 |+ U# k$ W' n −−with-oci8=DIR Include Oracle Database OCI8 support. DIR defaults to $ORACLE_HOME9 N, I2 @8 g0 ]% [4 ^
系统里安装了 Oracle 数据库的话,则指定为 $ORACLE_HOME;否则需安装 Oracle Instant Client,指定为 /path/to/instant/client/lib
7 Y# n9 n" ^2 P1 q+ R- c. T" Y0 N) D: J8 C4 B/ g; T- Q
34、ODBC driver for PDO(pdo_odbc)* J4 T h. \+ d/ x- e2 M& J9 {% ?4 M* ^
−−with-pdo-odbc=flavour,dir
- s: P& V$ X2 b @7 S2 H2 |0 T PDO: Support for ‘flavour’ ODBC driver. ) K9 t3 `7 H& ?
include and lib dirs are looked for under ‘dir’.
1 z" f: Q5 V- R% E( [ ‘flavour’ can be one of: ibm-db2, iODBC, unixODBC, generic1 d- g8 n8 t/ ~! h
If ‘,dir’ part is omitted, default for the flavour \6 w9 r8 l3 H3 e7 p; [2 Z
you have selected will be used. e.g.:
4 m6 m+ \3 M+ K. l: ^1 s; a4 Z −−with-pdo-odbc=unixODBC- _2 `: ~2 u% B. m
will check for unixODBC under /usr/local. You may attempt to use an otherwise unsupported driver using the “generic” flavour." e) t( t8 w8 \/ o7 g1 L/ i3 E0 w9 H
The syntax for generic ODBC support is:
7 M9 D1 ?8 A' L% ? −−with-pdo-odbc=generic,dir,libname,ldflags,cflags
7 H3 f" h) M, p1 H$ g. Z% j When built as ‘shared’ the extension filename is always pdo_odbc.so# P* F( y2 J0 h1 }2 _
) Y0 ^3 r% _. k. i* J% i 35、ODBC
% Y* T8 J& a2 G8 K; n& E ODBC 有很多种,一般使用如下编译参数即可。8 F% r) c1 S* L# n' \: o
−−with-unixODBC=DIR Include unixODBC support /usr/local- R9 b: p2 |5 t0 |" O" Z
Debian/Ubuntu 需安装 unixodbc, unixodbc-dev 依赖包。+ G& _; Z( g v1 v! \
Redhat/CentOS 需安装 unixODBC, unixODBC-devel 依赖包。& Q/ Z! o1 A; M: h& H( O
注意:PHP 默认会去 /usr/local/include 下去找头文件 sqlext.h,所以还要做个软链接。
7 T5 i5 r3 t# c4 W5 U! w ln -s /usr/include/sqlext.h /usr/local/include/, X3 V M5 c( X! Y/ ]8 h' w5 m
! e1 }* q+ _: C0 W3 p4 l. _/ y V; H 36、OpenSSL) u+ E: a7 j; q. `% {" a8 l% M' r& h' g
−−with-openssl=DIR Include OpenSSL support (requires OpenSSL >= 1.0.1)1 q3 W0 Z9 i* Q$ Q" w
−−with-kerberos=DIR OPENSSL: Include Kerberos support
) w$ l+ w" T8 B. X+ Y −−with-system-ciphers OPENSSL: Use system default cipher list instead of hardcoded value" M. \9 D+ {. z9 q/ @+ L8 \
PHP 7.1 所需的 openssl 版本是 >= 1.0.1' q$ x+ D* B' s: p3 o
PHP 7.0 所需的 openssl 版本是 >= 0.9.8# I' [ J& J8 D, o% ~
PHP 5.6 所需的 openssl 版本是 >= 0.9.6
' K- j! c) c0 h- b r2 j) x PHP 5.5 所需的 openssl 版本是 >= 0.9.6+ a. f& H; \/ q- m. F1 L, S7 i
PHP 5.4 所需的 openssl 版本是 >= 0.9.62 f4 `$ n: ^' U" s
PHP 5.3 所需的 openssl 版本是 >= 0.9.6
' a0 L @8 `8 N' H; r F* k$ R
' z3 C' `/ m: f* C 37、Oracle (OCI) driver for PDO(pdo_oci); i- W/ }6 F9 o
−−with-pdo-oci=DIR PDO: Oracle OCI support. DIR defaults to $ORACLE_HOME.
B) v' c8 s6 N Use −−with-pdo-oci=instantclient,prefix,version for an Oracle Instant Client SDK.
, K& L2 u! M2 ]! J For example on Linux with 11.2 RPMs use:
7 @: i t' n' A$ \6 ] −−with-pdo-oci=instantclient,/usr,11.2( U2 B l8 L' I# F
. r) s( x f; s; H: w( t/ Z 38、pcntl2 W; p: [, L, ~5 L6 G. v
通过指定编译参数 −−enable-pcntl 安装。 Enable pcntl support (CLI/CGI only)+ L; {: x. j& v; c5 r+ I
. X% `8 e% ?) l& a 39、Perl Compatible Regular Expressions(PCRE)
- q7 ^# r5 Z% m. E7 F9 |" ~; t −−with-pcre-regex=DIR Include Perl Compatible Regular Expressions support. DIR is the PCRE install prefix BUNDLED
; \; e2 e" p" S6 r −−with-pcre-jit Enable PCRE JIT functionality
4 B/ m3 { q' g8 z9 C* ~6 `- |
& O) U+ D, s. G4 \- ^5 g" a 40、PHP Archive(Phar)# q4 o) m+ B( t4 ]* F8 f
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-phar Disable phar support3 O6 e1 @$ x2 d: C5 ?0 A/ Q9 Z. I0 ]
9 R9 F% v! w2 {6 B( x, n- \4 ]) I) D
41、PHP Data Objects(PDO) u: f+ T) Z' [7 d% K: H. d3 M
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-pdo Disable PHP Data Objects support
! P7 [7 C( J$ V
, I: p7 h5 @% D0 t 42、Posix
% ~0 M; j r8 ]. N. m 此扩展默认为启用,编译时可通过下列选项禁用:−−disable-posix Disable POSIX-like functions
+ f' c2 J: ?" P
$ U, j. [2 Y6 u4 f2 J" K 43、PostgreSQL driver for PDO(pdo_pgsql)
2 W( X5 g' n8 _( F) M8 q7 u −−with-pdo-pgsql=DIR PDO: PostgreSQL support. DIR is the PostgreSQL base install directory or the path to pg_config
" ]3 }' O9 c" q8 \2 z% y; h' d) l
44、PostgreSQL, v( d+ B4 s1 p, a; k
−−with-pgsql=DIR Include PostgreSQL support. DIR is the PostgreSQL base install directory or the path to pg_config
9 Z; L: R; `- ~' w
$ {4 T/ e) l& \! P4 c$ {6 L# W. Q 45、Pspell
4 ]! j0 D6 H4 U% X- ~ −−with-pspell=DIR Include PSPELL support. GNU Aspell version 0.50.0 or higher required
; s0 J9 q4 i" j; l# B& [: |: S 一般需指定其目录,−−with-pspell=/usr9 A( ?; M" e2 ^0 x
Debian/Ubuntu 需安装 libpspell-dev 依赖包。
- j6 }# \8 w; q" V$ H( f8 u+ X Redhat/CentOS 需安装 aspell-devel 依赖包。6 ^8 f B1 o% m8 }
% c% C2 \2 p5 k
46、Readline
5 m; ^: R6 V3 \ −−with-readline=DIR Include readline support (CLI/CGI only)
! n" E1 ~$ X9 R- E6 x. z Debian/Ubuntu 需安装 libreadline-dev 依赖包。+ X4 f i; y9 T
Redhat/CentOS 需安装 readline-devel 依赖包。
& K* A$ {$ Z% [' {; |6 j( \" X; U/ f1 I. {8 ^) `
47、Recode1 k# X3 u0 G; x: d0 H
−−with-recode=DIR nclude recode support+ i' c" q' U, _$ M& K$ h4 V4 e
Debian/Ubuntu 需安装 librecode-dev 依赖包。
) @. e& m9 q0 f7 L% n- u Redhat/CentOS 需安装 recode-devel 依赖包。( Z& z8 U7 l) E. B
, d& V' Z3 D) p' y# }; A 48、Reflection
, q1 ^2 Y) P0 Q0 H4 a* ` }; A 此扩展默认为启用。! u' F' P5 w; O5 R4 h
( c i% }/ I, w! o; C 49、Sessions$ |7 Y" g1 g4 F( G# Y+ G# d
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-session Disable session support- R+ o: u( g+ E$ z) o2 J* n
另如果要给此扩展指定 mm 支持的话,则还有以下的编译参数。( d+ o5 r% e/ b) R5 r: N/ {
−−with-mm=DIR SESSION: Include mm support for session storage' a$ }4 P* i4 u- m" I- ?
' B- Q/ p* n0 u 50、Shared Memory Operations(shmop)1 T: v) T. ~8 H/ }
通过指定编译参数 −−enable-shmop 安装。 Enable shmop support
% I- c6 f8 [8 T" V
6 E8 M& e1 c+ U/ t+ b, F! l 51、SimpleXML
8 @( Z7 i- i# V 此扩展默认为启用,编译时可通过下列选项禁用:−−disable-simplexml Disable SimpleXML support; `( @) N2 M, R3 P; u2 n3 k6 e
另如果要给此扩展指定 libxml2 目录的话,则还有以下的编译参数。
( z: t$ l/ K1 V3 ~* h −−with-libxml-dir=DIR SimpleXML: libxml2 install prefix* f+ i9 T9 K5 w. o
1 a0 H% {& P2 |: \5 o0 T* e
52、SNMP
% M2 Z4 c7 Q+ [: j 通过指定编译参数 −−with-snmp=DIR 安装。 Include SNMP support
, ]# T) v. ]+ n N% m 另如果要给此扩展指定 openssl 目录的话,则还有以下的编译参数。
M M' ]1 p% n3 Y- C −−with-openssl-dir=DIR SNMP: openssl install prefix
; Z5 |5 {8 t+ v+ p& L7 M* @& Z; _! G Debian/Ubuntu 需安装 libsnmp-dev 依赖包。
; X* ^( R7 {; N& `( `# I/ k Redhat/CentOS 需安装 net-snmp-devel 依赖包。
/ f( Z9 j0 l. \( j5 s. g- }7 K8 W1 ~
53、SOAP+ R9 C" P: D4 t$ `: |" o1 a# j
通过指定编译参数 −−enable-soap 安装。 Enable SOAP support, G5 o. G$ c! e$ c3 A. u7 \' e
另如果要给此扩展指定 libxml2 目录的话,则还有以下的编译参数。
; g! k: u* R1 d( N6 d" A −−with-libxml-dir=DIR SOAP: libxml2 install prefix
, Q# a# G3 u i4 a' P
8 g3 a4 z k% \) \5 i' h 54、Sockets# c. Z J3 @& b% `2 M
通过指定编译参数 −−enable-sockets 安装。 Enable sockets support
q' d! s7 y2 s) ^ @$ z) N7 m/ i0 y4 I1 G
55、SPL- w: P8 U% \) P* N7 ~# r. j2 D
此扩展默认为启用。
( j) A' @: A; m( m: Y
" w- T: P% p* ?/ s 56、SQLite3( h1 G) c' ~. \5 F4 M) b) Y' ?: K# f
此扩展默认为启用,编译时可通过下列选项禁用:−−without-sqlite3=DIR Do not include SQLite3 support. DIR is the prefix to SQLite3 installation directory
6 r) g* U( I8 x# F8 B$ D* I- ? G: ?
57、SQLite 3.x driver for PDO(pdo_sqlite)
9 P* X, {- r/ w; \$ ~ 此扩展默认为启用,编译时可通过下列选项禁用:−−without-pdo-sqlite=DIR PDO: sqlite 3 support. DIR is the sqlite base install directory BUNDLED
0 K6 [. s$ {; U# E! V5 X- J- q
. N; d$ L0 S0 ` 58、System V Message based IPC' ?+ [. k& _* q# p) [8 E
通过指定编译参数 −−enable-sysvmsg 安装。 Enable sysvmsg support
; w4 ^* v* a- _9 c; ?! ^
) G% V! S) @/ G2 [" G2 k8 X 59、System V Semaphores
( l1 K j' e/ @/ c1 s 通过指定编译参数 −−enable-sysvsem 安装。 Enable System V semaphore support+ Z* V* A9 i/ t {1 Z: H
( ^2 Q M/ ^, R/ U& T$ e 60、System V Shared Memory
- \7 u. @' o6 A( T/ o6 k, i/ J 通过指定编译参数 −−enable-sysvshm 安装。 Enable the System V shared memory support. Y, Q7 f1 Z% H6 A6 [- I
$ ?3 z. K& x, L$ B+ W& A% m. } 61、tidy
; Y; v3 d: @# y+ @6 J& n 通过指定编译参数 −−with-tidy=DIR 安装。 Include TIDY support
0 A+ y9 b1 q1 j, ^# ?; y# |% ? 一般需指定其目录,−−with-tidy=/usr% \# j# {( v3 o6 \
Debian/Ubuntu 需安装 libtidy-dev 依赖包。! g' P" E: B! ~% u
Redhat/CentOS 需安装 libtidy-devel 依赖包。
7 J0 X- U2 Z/ J- Y. u0 D$ d, h
9 R9 l- v+ E+ J8 A$ w% D 62、tokenizer- |! l+ `) c2 G1 K- x# }/ B! p
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-tokenizer Disable tokenizer support4 C) ^( Y' v0 c( }$ X- @4 z2 s- e
$ F! b, i7 ~0 R9 }$ R, q- p, Q: o
63、WDDX
6 A. L2 \7 T- k 通过指定编译参数 −−enable-wddx 安装。 Enable WDDX support
+ [4 {# u9 i0 v5 y, v- n! \ 另如果要给此扩展指定 libxml2 目录的话,则还有以下的编译参数。
2 L k/ g6 D2 I7 B −−with-libxml-dir=DIR WDDX: libxml2 install prefix
$ n2 K+ x( j% a4 P3 n5 _$ ?7 o8 m7 ~
64、XMLReader
' N. l' l8 R% w0 a: K- L 此扩展默认为启用,编译时可通过下列选项禁用:−−disable-xmlreader Disable XMLReader support
7 q" N t0 g; w& }) J6 R6 C, P 另如果要给此扩展指定 libxml2 目录的话,则还有以下的编译参数。5 q& ^' R. h6 ~; B+ v) @' ~9 s* |: y: w" d
−−with-libxml-dir=DIR XMLReader: libxml2 install prefix# |: g: g6 s3 N4 R: m6 v7 _
, C* P; N7 k: P 65、xmlrpc1 p+ `! r, B$ \4 j% H
通过指定编译参数 −−with-xmlrpc=DIR 安装。 Include XMLRPC-EPI support
7 G8 g2 l' j4 N$ }7 ] W" Z 另如果要给此扩展指定 libxml2 和 iconv 目录的话,则还有以下的编译参数。+ K: I8 Q' E, q: @, i' F
−−with-libxml-dir=DIR XMLRPC-EPI: libxml2 install prefix% `, Y+ h" L- X9 y0 z
−−with-iconv-dir=DIR XMLRPC-EPI: iconv dir for XMLRPC-EPI. w' K" g- K1 Z1 Q9 F
0 E; ]. H) ?2 g+ Y1 p3 o# I+ g
66、XML# j. B, a* I3 t+ @4 T% [0 N0 H$ k& D
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-xml Disable XML support: I- ~+ M2 _1 W( h0 H0 E) a6 N
$ }7 m$ P' o4 y+ Q
67、XMLWriter" N, u; W) |- T1 N/ O8 g8 r
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-xmlwriter Disable XMLWriter support
* A* u" G J7 p4 R" b' E5 ~- Z5 Z7 c. J9 H
68、XSL
, d. P2 c+ L7 e7 W! G9 r 通过指定编译参数 −−with-xsl=DIR 安装。 Include XSL support. DIR is the libxslt base install directory (libxslt >= 1.1.0 required)
- Q$ u( o6 \5 X S5 Q Debian/Ubuntu 需安装 libxslt1-dev 依赖包。3 k* x8 f) ~4 }# j0 [# U+ E
Redhat/CentOS 需安装 libxslt-devel 依赖包。
" U% S( ]! J" H4 U2 v$ C S. t7 ?* W) ?$ Y4 M' ~
69、Zip
, u6 o+ T/ }/ P; B A4 _/ q 通过指定编译参数 −−enable-zip 安装。 Include Zip read/write support- m# ]; f+ Y t1 T* w' ~* M% R! i* [
另如果要给此扩展指定 libz, PCRE 和 libzip 目录的话,则还有以下的编译参数。1 _# U( H; ]! x0 `
−−with-zlib-dir=DIR ZIP: Set the path to libz install prefix
) \% m: s6 b5 T9 R −−with-pcre-dir=DIR ZIP: pcre install prefix# V3 q' A8 n( j3 z- @+ t
−−with-libzip=DIR ZIP: use libzip
6 u1 R U G, _ T0 y- t7 p: j! D7 Z @6 [/ p" U- Z2 S$ ?& `
70、Zlib
7 e1 Q0 a- D, n; Y 通过指定编译参数 −−with-zlib=DIR 安装。 Include ZLIB support (requires zlib >= 1.0.9)
/ Q* L: ^: O5 j( ^# L Debian/Ubuntu 需安装 zlib1g-dev 依赖包。( ^: [- V/ p2 q4 p0 r; `' U$ m! d: d8 w
Redhat/CentOS 需安装 zlib-devel 依赖包。
, f. X3 ?7 [4 C+ I7 J. E: Z3 O; C2 T, N* f% }% z/ S8 s' p6 r+ C1 c
71、Zend OPcache
! E" y- |6 w5 G5 k% \ PHP 5.5 之后的版本,此扩展默认为启用,编译时可通过下列选项禁用:−−disable-opcache Disable Zend OPcache support
2 R6 `; T; Z5 |' E- W9 r 注意:默认编译安装不代表默认启用,还需配置到 ini 文件里才行。: N2 ^3 i- ^& A! Y
( ?% _2 |' d8 ~* ~: } 另外,PHP 还有诸多的第三方扩展,框架,CMS,包管理工具等。举几个例子。
# C E( n2 l8 Y3 C- K' j& \ 扩展:ZendGuardLoader, ionCube Loader, XCache, Imagemagick, GraphicsMagick, Memcached, Redis, Mongodb, Swoole7 P0 p; K! U2 H- S( X/ |: j
框架:Laravel, Symfony, Nette, Yii, Zend Framework, Silex, Slim, CakePHP, ThinkPHP
3 S, ?/ p! S% b% U6 b! Y CMS:Wordpress, Drupal, Joomla, Typecho, Phpcms, % y5 Y$ P6 L4 A, c2 S1 h* R
包管理工具:Composer
. ^& \. @* a/ p, G" D/ X% U/ q- ?) i9 M6 r
" N& p- a3 [; b6 x7 h: ~& `
X- i. k# X* l3 ]% ~- Q. `- B
* K' a3 |0 ~+ ?' G O$ t |
|