|
|

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