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