|
|

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