|
|

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