|
|

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