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