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