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