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