|
|
安装DZ乱码前PHP7.0
7 C; i, v6 ]/ B# `9 p5 Q& X# N
1 }# o" ^' g6 u: x. H! E- [PHP]" [; T' O' m) ~8 p8 e
2 I( b# h9 i* @, r( r3 U4 }) w& d- ;;;;;;;;;;;;;;;;;;;; Y+ e" M5 j0 t* c3 Z4 y# O- S
- ; About php.ini ;( i- R% k) e9 O8 Y3 S+ X% e
- ;;;;;;;;;;;;;;;;;;;3 d( l7 d- Z+ X
- ; PHP's initialization file, generally called php.ini, is responsible for; f. ^, g1 i* `, i; D
- ; configuring many of the aspects of PHP's behavior.# B. G) J) R8 u* e' V
4 R7 c- y2 l; G: {4 f( {! L+ r- ; PHP attempts to find and load this configuration from a number of locations.: j: A8 y) i3 k j: Z X D
- ; The following is a summary of its search order:
, T8 C8 |9 z/ O7 g" i, s - ; 1. SAPI module specific location.
: L5 @0 g0 {/ c2 V- Y - ; 2. The PHPRC environment variable. (As of PHP 5.2.0)
7 X& G; }* w' z' k9 I9 a7 p2 @; ^ - ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
) G. v/ N$ ]6 s4 G1 E2 V! J - ; 4. Current working directory (except CLI)0 i: k' |% U) m- f
- ; 5. The web server's directory (for SAPI modules), or directory of PHP( n4 W6 n; i6 T) x
- ; (otherwise in Windows)
* A! A" m4 E: X7 K - ; 6. The directory from the --with-config-file-path compile time option, or the
8 O0 g5 F- o( _, r) f F0 _ - ; Windows directory (C:\windows or C:\winnt): h7 f; }1 H; r. \1 y& x8 }
- ; See the PHP docs for more specific information.
, T6 X3 [) f) d7 o+ n - ; http://php.net/configuration.file
- }, i' T, i4 h8 o- J o' Q, ?
" {! l1 i6 z6 G/ E. l) a- ; The syntax of the file is extremely simple. Whitespace and lines7 ]& L2 J8 o( _3 C+ O3 t
- ; beginning with a semicolon are silently ignored (as you probably guessed).
C" Y( x5 @8 g. d; Z - ; Section headers (e.g. [Foo]) are also silently ignored, even though
# k( A' m5 N- c& o - ; they might mean something in the future." F9 A" Q& i7 K) D7 c5 y
! ^, b1 W2 s$ \/ Z0 o# z- ; Directives following the section heading [PATH=/www/mysite] only- {1 v. {, D; n$ f
- ; apply to PHP files in the /www/mysite directory. Directives, A f" r8 U& { c
- ; following the section heading [HOST=www.example.com] only apply to
4 b* N# z9 ^4 j. t - ; PHP files served from www.example.com. Directives set in these
' A* e6 k' A# h- q/ o2 x3 W5 b" | - ; special sections cannot be overridden by user-defined INI files or1 B; S4 \& D, O4 m) i
- ; at runtime. Currently, [PATH=] and [HOST=] sections only work under5 E% {* ^+ n0 X
- ; CGI/FastCGI.
5 B$ b6 Z9 y- r - ; http://php.net/ini.sections
0 J5 I* E/ {# h - ! z! C/ K/ L0 d; i# N% W! v
- ; Directives are specified using the following syntax:
& T5 k9 L3 U2 E5 v# i( ]: s. b - ; directive = value( I; n3 {$ e) ^7 [: ?( E
- ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.- O& G5 M4 z; c8 b; l
- ; Directives are variables used to configure PHP or PHP extensions.
+ [* L' t; z+ j4 j0 n - ; There is no name validation. If PHP can't find an expected9 b4 _0 x$ l# a- O4 p
- ; directive because it is not set or is mistyped, a default value will be used. @. Z: {" W# r$ ?, ^) M5 S: Z9 x2 D
( W3 S- ~/ N1 ?8 G5 b; _! n6 N- ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one! l Z$ u8 P1 y+ p. H" n
- ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
5 i9 {6 j E# f* S4 ^; r - ; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
) M* l8 }/ Y; S - ; previously set variable or directive (e.g. ${foo})9 W: I" a+ U& E3 x$ a5 H* n S1 s
" Y& w1 [' J. R4 N' ?. c- ; Expressions in the INI file are limited to bitwise operators and parentheses:4 u, _ Y/ L5 f
- ; | bitwise OR
* m' y h1 n4 s& N - ; ^ bitwise XOR
" ?8 T3 H. a$ g7 s - ; & bitwise AND; U! M9 ]1 j: ^, _+ e: b% U0 T
- ; ~ bitwise NOT
2 Y* L6 K8 N* c+ Y8 Z - ; ! boolean NOT
4 A0 @0 [( w4 E+ H( n4 v - " U) J, l# F& G$ B9 P, M' v1 P- N. ~
- ; Boolean flags can be turned on using the values 1, On, True or Yes.$ K% }/ E8 ^% u* K' _1 I5 g
- ; They can be turned off using the values 0, Off, False or No.
7 }/ b( h/ G3 U2 D5 X - / D4 o1 c5 D" @8 l X/ m
- ; An empty string can be denoted by simply not writing anything after the equal
1 h; \5 \; E1 J# I7 j4 k - ; sign, or by using the None keyword:9 ^, `8 y( N# ~! L2 d
- ! e! P3 ?2 O$ y8 R# R) V
- ; foo = ; sets foo to an empty string8 D% J1 c v7 Y7 c* B
- ; foo = None ; sets foo to an empty string1 e& N1 u, W. r& Q
- ; foo = "None" ; sets foo to the string 'None'( v# N# z" {5 {% K! `& X
- # A! k+ s& H7 j
- ; If you use constants in your value, and these constants belong to a
9 Q% a. t4 x8 ]0 ^2 L/ H - ; dynamically loaded extension (either a PHP extension or a Zend extension),; r# ]2 I: J, P! s b/ M1 V* S
- ; you may only use these constants *after* the line that loads the extension.
8 z* L) M' z* U3 N( v
# k3 N7 o. U# F: ?- ;;;;;;;;;;;;;;;;;;;" ^# S! ~( A f, c2 H
- ; About this file ;
2 C c# ]) C0 {9 n+ H9 R$ a - ;;;;;;;;;;;;;;;;;;;( n- O# y0 ?5 M" ~6 A# H
- ; PHP comes packaged with two INI files. One that is recommended to be used
. Z, f2 m, y& V - ; in production environments and one that is recommended to be used in
- S, w+ {! l1 e0 I- o' e+ ]5 C& z( g - ; development environments.
5 s# O2 }0 @$ h- {5 ^6 L- g
- u( l4 ^' {1 {% a& d- ; php.ini-production contains settings which hold security, performance and; n9 d( Y/ @" l8 A8 n B
- ; best practices at its core. But please be aware, these settings may break" f2 m* s; J5 D9 a; ]$ M6 V
- ; compatibility with older or less security conscience applications. We/ w7 y) I. N$ G- |% @9 j3 r
- ; recommending using the production ini in production and testing environments. y7 A ^5 d! x8 s
- , W$ j% t' I. N6 v% A
- ; php.ini-development is very similar to its production variant, except it is
' n# _6 }8 i$ O - ; much more verbose when it comes to errors. We recommend using the$ u, T: _7 @ r# B
- ; development version only in development environments, as errors shown to7 ?) v% Q% y' i k4 f$ m
- ; application users can inadvertently leak otherwise secure information.
$ |+ s# N2 @8 ~7 Q. I. _* f
" ?; L( g8 } p9 ^- e4 e' p1 p- ; This is php.ini-production INI file.2 I Z0 l! ~+ o: r- G9 k
' }0 |5 U. ^3 L& N4 B% z- ;;;;;;;;;;;;;;;;;;;
7 H; d- N& i- V - ; Quick Reference ;
- ?7 S# S. b5 A, a; [ E. m - ;;;;;;;;;;;;;;;;;;;9 y) c# ^8 d" Y& q" V
- ; The following are all the settings which are different in either the production1 o. p4 O9 {8 \" ?
- ; or development versions of the INIs with respect to PHP's default behavior.
- s) J y" _" W2 ` - ; Please see the actual settings later in the document for more details as to why
- v v0 E- P- |- _5 z - ; we recommend these changes in PHP's behavior.5 @ h' C3 Y4 U) H! ^4 N2 r) C8 d/ }& Z
1 W2 L0 m3 I6 Y/ W6 _- ; display_errors
1 `+ g& w2 ]7 h# j/ \ ] - ; Default Value: On
7 a; S8 V( M5 q( J& f% `* l W. ` v; O, T - ; Development Value: On2 [) E7 \/ o) _- c; |, J' y1 L
- ; Production Value: Off
" C# v8 `' t Y
7 [' I) _2 g. M& N- ; display_startup_errors
6 E4 R: t7 ^) P1 Y - ; Default Value: Off+ w3 x/ @1 v2 s
- ; Development Value: On
3 U1 H) m6 T s- X. F- c - ; Production Value: Off
7 D+ s% i: i) U p7 N& o1 p/ ?5 ^
6 [1 i$ d* w- O5 v7 i0 v4 M- ; error_reporting
; b' f7 @+ m; }7 q1 Q* A - ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED. o3 U0 m; k3 k' O0 [. l
- ; Development Value: E_ALL9 Q$ e3 D" T$ i& l
- ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
7 F1 p$ i& T& A - . a% x* w r. m) n0 E4 ~9 v
- ; html_errors- y4 C$ J8 v8 v& g8 I
- ; Default Value: On
: l, b7 b7 V: }. }/ y! h$ n - ; Development Value: On2 C+ B! _; `# @
- ; Production value: On
5 u* V1 ^( i& b
% h* X; t5 C# h5 k6 p" `% l' [! R- ; log_errors# P1 P# G- g _8 g: q
- ; Default Value: Off
7 {" _# E) I/ V& V) a5 ~5 ^ - ; Development Value: On
6 P' _, K9 ~# e% [8 H# k% H - ; Production Value: On
2 G& r7 g5 r( { - # K8 p* a6 U$ R! n) _, E
- ; max_input_time6 \: w+ P' c! v: o" I/ O" @& V
- ; Default Value: -1 (Unlimited)7 M" k4 n5 ^/ B4 ^9 E
- ; Development Value: 60 (60 seconds)$ y5 m' @( O/ b: A) X( r# Q4 p
- ; Production Value: 60 (60 seconds) {1 N" t/ D u* F- k; d: v
- + S; P2 A0 Y j: h6 b
- ; output_buffering* S1 O2 ?" w+ p5 F, X* ?9 z# v, Q
- ; Default Value: Off, y+ _, q/ s1 m m( t
- ; Development Value: 4096, e6 b- [2 h$ A. `, u
- ; Production Value: 4096
' s$ R5 K- a, d - 9 y) C" X' _& a# z, Q- R3 ?; {
- ; register_argc_argv4 R5 H6 m% n* v5 y! R6 e
- ; Default Value: On
9 Y: k1 z! P* z+ F - ; Development Value: Off
0 H) F+ b4 s" D S5 S6 i - ; Production Value: Off( v9 n2 U3 D: ?# K# p9 P! o
- . `7 u& D# V X% e
- ; request_order
; ^* K; s P' A) l! a0 Y3 Z5 N* G - ; Default Value: None8 F+ B E0 S. ^
- ; Development Value: "GP"/ t" t* y# x/ t E/ v% i7 C
- ; Production Value: "GP"
; `9 {! t: s# D5 Q: q8 G) w
# f6 t: h& T$ y3 G* t$ N8 d- ; session.gc_divisor' b6 H# ~8 O- D, L
- ; Default Value: 100
* b* f: e: [1 ~! }% R0 K" ~0 E$ l - ; Development Value: 1000* a# g/ x0 V7 n! I. _ m7 G
- ; Production Value: 1000 @ i( z; G1 _4 V5 ^" |
9 G) B5 Z& C. H, j0 x v+ q- b- ; session.hash_bits_per_character9 m7 W" X+ D/ B2 I# A
- ; Default Value: 44 u1 s, u2 @. @ r, b( W- ?* _' {0 w5 q
- ; Development Value: 5
3 w& i& O" A" W: ^; r - ; Production Value: 5
5 j- \7 ^. N7 C9 n - % x, j/ |1 x; \, H: S2 b' j* |
- ; short_open_tag9 t: y$ Q. s' I" P
- ; Default Value: On
& T W# Z: f1 X4 g, `6 o9 N/ s& O - ; Development Value: Off# T* Y4 r3 p# ~) j7 O
- ; Production Value: Off
6 ]$ ~" w$ I1 @, q+ ]) w4 c1 T) e9 P# }
. \+ C0 ]( j" n& k9 }& V, g6 s- ; track_errors4 c# N/ N. m8 `
- ; Default Value: Off! j) b2 U+ a3 P' z7 ?- j
- ; Development Value: On
% K& `& k! _/ j - ; Production Value: Off
) S5 ]/ E! [9 H) }; f - + r1 e% z/ }8 b7 p' n6 w: T
- ; url_rewriter.tags+ Z& q4 `/ f& \. E% g- Z
- ; Default Value: "a=href,area=href,frame=src,form=,fieldset="
! J- n" R. F! s4 v) P$ ` - ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
% }6 Y" Y* k6 p' l( a - ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"4 v& o3 F& o/ q) a0 i% Z! L
% V- E8 \7 r. C: A7 K/ p7 C3 y- ; variables_order
) h; d0 i3 l$ L% t) { [ - ; Default Value: "EGPCS"
: y& x- J% i1 {5 O: d. e - ; Development Value: "GPCS"
/ |' o! f9 J" f. r, D& o5 G - ; Production Value: "GPCS"9 s8 S4 X" q3 B* S4 q
- ; D% D& q% e2 W9 |
- ;;;;;;;;;;;;;;;;;;;;7 K- Q2 d Y2 ^% E$ |/ k
- ; php.ini Options ;& k1 G, Z) a3 h
- ;;;;;;;;;;;;;;;;;;;;, K1 k- `" ~; Y- C) b
- ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"' v3 N4 b/ I# q0 a& a; i' q6 h
- ;user_ini.filename = ".user.ini"
; l: r! q/ r4 {5 g
% k, X/ t- M5 l j% n) X- ; To disable this feature set this option to empty value
. D& I' _0 d- R: u( I1 k" ? - ;user_ini.filename =
3 N. E. n! R- H2 ~& Q" H! n - % K' j, j; K- c" q( R
- ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
4 b7 g) f1 ?& Q6 g; d# J$ Y2 J - ;user_ini.cache_ttl = 300
. G( E! c1 J# P7 w
; D& B1 n5 }4 t4 p o( _- ;;;;;;;;;;;;;;;;;;;;
3 E( ?) B! N/ C$ S, d e0 @ - ; Language Options ;8 c0 ?5 C9 A( r9 y2 T6 g* p
- ;;;;;;;;;;;;;;;;;;;;
9 l- X9 c$ `8 m9 F* w
% _1 [) k- e' P- ; Enable the PHP scripting language engine under Apache.
: }* M+ H4 t9 a. ^; i - ; http://php.net/engine
; C0 G' C5 x4 ~ - engine = On
3 l4 U; Z( n+ r
! V0 f) B1 o+ w0 [# \- ; This directive determines whether or not PHP will recognize code between
0 P) p- L7 p6 ~; O - ; <? and ?> tags as PHP source which should be processed as such. It is
+ O* }8 J- C8 `/ ?+ Q$ h) u! b( M - ; generally recommended that <?php and ?> should be used and that this feature
* ]- s3 D/ r0 {! V+ _7 x - ; should be disabled, as enabling it may result in issues when generating XML
3 E- m' Q: w. ?; @- `" r* ? - ; documents, however this remains supported for backward compatibility reasons.
) s* Z' C1 |8 Z: J8 D; j - ; Note that this directive does not control the <?= shorthand tag, which can be
' F! y. `: X; I% ~ - ; used regardless of this directive.( o3 r: J$ O9 Q9 O. ~/ j
- ; Default Value: On) j; w& F. n& c( l$ R3 f2 T; H
- ; Development Value: Off
# B) ?& v8 j( ~$ W - ; Production Value: Off; N" U/ F$ C/ w( m, g" D6 Q6 z
- ; http://php.net/short-open-tag9 O5 W( c: V: q$ x! |! M" b
- short_open_tag = On
# Z/ g( x9 e1 u
1 M4 w! V. ~2 s- ; The number of significant digits displayed in floating point numbers.6 Q" q$ }; i, s& h% {, s0 L
- ; http://php.net/precision2 J- C+ t6 Z( r0 m9 J4 `
- precision = 14+ o) G, R8 Y& l% i1 J" ?8 m8 B
+ M/ r5 L2 b" w3 ?: X \- ; Output buffering is a mechanism for controlling how much output data/ O) r/ P" Y" c: a
- ; (excluding headers and cookies) PHP should keep internally before pushing that0 M$ v5 I' w0 H
- ; data to the client. If your application's output exceeds this setting, PHP
8 Q% F2 d. p+ ~" p* x4 I; O - ; will send that data in chunks of roughly the size you specify.+ I3 W+ O9 a( v1 z" |2 F& k
- ; Turning on this setting and managing its maximum buffer size can yield some
2 |" w G8 D, F+ B - ; interesting side-effects depending on your application and web server.
# t4 v% F( F/ f4 r8 r% X; M% } - ; You may be able to send headers and cookies after you've already sent output2 }- b7 w4 y. ^" J- N/ s o4 @
- ; through print or echo. You also may see performance benefits if your server is- |% w. }( f& L# c( ]; y
- ; emitting less packets due to buffered output versus PHP streaming the output
- b2 s& R$ a* }+ r f6 ` - ; as it gets it. On production servers, 4096 bytes is a good setting for performance/ P6 w" X* R. {& R
- ; reasons.
0 B5 k4 _5 N+ _: c" z, t - ; Note: Output buffering can also be controlled via Output Buffering Control( V) ^: X* a' o$ X- P, @7 Q& x
- ; functions.
+ d+ i& J8 U4 V0 A6 W - ; Possible Values: B5 H% m/ l$ V
- ; On = Enabled and buffer is unlimited. (Use with caution)7 S) f* q6 B1 H+ |& J, I3 y
- ; Off = Disabled
0 M1 b9 `# P% M7 o - ; Integer = Enables the buffer and sets its maximum size in bytes.
, d8 l. S+ s" o - ; Note: This directive is hardcoded to Off for the CLI SAPI
0 a6 u% Y5 `- v0 p. @ - ; Default Value: Off a3 J* J) ?1 V0 {2 c$ i" }
- ; Development Value: 40966 }7 w% i7 c5 r5 G; T, m
- ; Production Value: 4096
# a: p- H: E) ]4 y - ; http://php.net/output-buffering% N9 t+ M8 P$ e. g, m0 e, _
- output_buffering = 40965 S, @0 _3 Y. g8 E) f
: e7 ~3 Q# c# {" X+ [* p0 c& F- ; You can redirect all of the output of your scripts to a function. For6 M" y$ \/ T o. E3 T- b
- ; example, if you set output_handler to "mb_output_handler", character4 b; x" e+ r4 n5 f
- ; encoding will be transparently converted to the specified encoding.
3 d& Q" V# a) U, M6 l! y7 f - ; Setting any output handler automatically turns on output buffering.
S# J4 z3 \- V7 K, @- u3 O5 \) n - ; Note: People who wrote portable scripts should not depend on this ini
& [% ^- P7 @( ]: Z6 U, |9 P - ; directive. Instead, explicitly set the output handler using ob_start().. n( i" C% S' O0 M& |% o; M* n8 K$ y, y
- ; Using this ini directive may cause problems unless you know what script( f+ t' w3 I+ o& L
- ; is doing.0 l3 a& x% R8 T. d" l' M
- ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
4 @, p; f c- G2 U) D) i - ; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
+ ?1 `% D5 k: K - ; Note: output_handler must be empty if this is set 'On' !!!!
7 y E4 B% P1 z) @ - ; Instead you must use zlib.output_handler.
, R% U& ?1 \; D3 w; E. _ - ; http://php.net/output-handler0 r. X; h1 z* m# q. n6 K7 S
- ;output_handler =
* U3 D7 l' h; z: i+ V2 R5 ~
+ B" c% \$ v& ?: u+ B0 Y) B- ; Transparent output compression using the zlib library
* W& h( h$ j( d$ {5 Z! M - ; Valid values for this option are 'off', 'on', or a specific buffer size# C: _2 Y" R, z9 h3 ]; K
- ; to be used for compression (default is 4KB)
) z8 L9 b% ]3 X1 Q. o7 i4 W z) l+ k0 b2 N - ; Note: Resulting chunk size may vary due to nature of compression. PHP
- G- F* }9 _" V7 o% K - ; outputs chunks that are few hundreds bytes each as a result of
$ l% q0 J* ]+ K3 r& P - ; compression. If you prefer a larger chunk size for better6 c6 L7 V" e5 j; Q2 f7 H- y' U6 }( S
- ; performance, enable output_buffering in addition.
& R0 w! N6 O! p - ; Note: You need to use zlib.output_handler instead of the standard$ Y/ z' i/ k7 [! m+ L: d: n+ A
- ; output_handler, or otherwise the output will be corrupted.% Q2 D; }1 ?- J! N6 n: X ~9 l
- ; http://php.net/zlib.output-compression* k9 l& x4 T; W9 `
- zlib.output_compression = Off: \- U2 b5 H! C: m
5 k* ?* g F" N, w" J2 C- ; http://php.net/zlib.output-compression-level
, A. `7 C0 N" {! ?8 Q - ;zlib.output_compression_level = -1! P; H4 n$ ?) u. \5 r
- - h, X1 ~) a. R# q, R
- ; You cannot specify additional output handlers if zlib.output_compression8 U J1 E% s y d; P- @3 \% q3 I# t
- ; is activated here. This setting does the same as output_handler but in
' W/ J+ `5 A8 a+ T) U" f% S% t6 n - ; a different order.
' _5 E5 A8 |7 ~3 \/ i& X - ; http://php.net/zlib.output-handler3 m2 ]: p: ^' G* b/ d
- ;zlib.output_handler =
/ q5 k; {6 x1 B) v - & F" `& J2 D- ~" q- ^* r
- ; Implicit flush tells PHP to tell the output layer to flush itself
5 Q# w7 s. u8 t# ?# G - ; automatically after every output block. This is equivalent to calling the+ ~' c2 G1 |1 V% b5 Q7 |% h
- ; PHP function flush() after each and every call to print() or echo() and each
* X+ j+ { @4 r3 U! M5 G: r - ; and every HTML block. Turning this option on has serious performance) @6 K8 ~5 C" q2 J9 u2 x9 e" O
- ; implications and is generally recommended for debugging purposes only.
2 a9 S" l! g& ] - ; http://php.net/implicit-flush
7 l7 ]: K4 L" ]4 O9 y" Z - ; Note: This directive is hardcoded to On for the CLI SAPI( i4 G+ T" K, ~6 u& T
- implicit_flush = Off( C' {. |4 ^9 g3 ^, I* x
- 6 q2 A7 g/ C& ~9 [
- ; The unserialize callback function will be called (with the undefined class'3 W8 u$ [' F- ?& h
- ; name as parameter), if the unserializer finds an undefined class
% v, g# N' _. w# F - ; which should be instantiated. A warning appears if the specified function is9 i: o5 R) y. g. M" v/ b7 |
- ; not defined, or if the function doesn't include/implement the missing class.
* f. Y4 P0 p: g( ~ c9 N - ; So only set this entry, if you really want to implement such a
* j0 N1 X% r, O5 | - ; callback-function.
: I6 X) V3 c+ f- o4 T1 v0 J7 P - unserialize_callback_func =
, q. z% J$ s9 |9 h7 O
, }+ c }( F- D- ; When floats & doubles are serialized store serialize_precision significant- S3 W! q9 q' C( f8 {! [! @
- ; digits after the floating point. The default value ensures that when floats2 N9 A5 \& L f: Z1 ^& x" B; s
- ; are decoded with unserialize, the data will remain the same.. v& ]" L) V2 Y9 h, D1 p5 M
- serialize_precision = 17
, Z+ ]6 q( @6 M) T3 L$ F/ y+ r
- S$ ^0 q1 p3 {- ; open_basedir, if set, limits all file operations to the defined directory
6 k. ~2 @' q4 b \) V. D - ; and below. This directive makes most sense if used in a per-directory& t* D8 t$ G8 M: {
- ; or per-virtualhost web server configuration file.& W$ G4 _8 o; s
- ; http://php.net/open-basedir. z; [+ }7 t) d/ }% e6 _/ J
- ;open_basedir =, x/ L$ l5 n1 e( v4 ~: p
* B4 A# U9 O, U( R- ; This directive allows you to disable certain functions for security reasons.
6 C( o7 `, V: m# p - ; It receives a comma-delimited list of function names.2 ^2 a4 C# Y3 Z$ @+ T) e3 `( t( ]
- ; http://php.net/disable-functions
# z1 v4 A* J t: r - disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru; S" w/ Z% A+ ~9 u2 y2 R& I' |
& X `& ?5 z x2 l# W3 c- ; This directive allows you to disable certain classes for security reasons.1 A2 V% x" D5 v e
- ; It receives a comma-delimited list of class names.+ j8 H, _ j$ Y! C1 D+ j! M
- ; http://php.net/disable-classes, ~; ]6 ]$ |6 |0 @7 Y# |& }
- disable_classes =
* H( C/ {" l# l) D9 g
+ s8 a5 ]( i8 ]4 j5 x5 X! z7 O! s- ; Colors for Syntax Highlighting mode. Anything that's acceptable in- P+ d) M$ K' m( E
- ; <span style="color: ???????"> would work.
; Q+ F7 t0 `8 m8 k$ |( f5 G# O$ ~3 d - ; http://php.net/syntax-highlighting
1 v# Y, j4 y% m7 r1 ]- F - ;highlight.string = #DD0000. @7 k% O$ o; A
- ;highlight.comment = #FF99007 R8 `5 t6 I2 w8 e$ H' r
- ;highlight.keyword = #007700
6 M0 ^# \7 u& q" A) K - ;highlight.default = #0000BB
) c0 T* i2 l- B3 J - ;highlight.html = #000000& q# f1 d. d- G" v3 _8 c; }
* ^$ F3 e( I& X5 Z, e7 _- ; If enabled, the request will be allowed to complete even if the user aborts( t5 g) {8 u( r% F) |
- ; the request. Consider enabling it if executing long requests, which may end up5 s) X7 R* S1 r$ ]7 o. ^
- ; being interrupted by the user or a browser timing out. PHP's default behavior
2 b. e* z' ^: N0 f8 m - ; is to disable this feature.7 D9 z u2 o- Q N
- ; http://php.net/ignore-user-abort
9 p4 E7 I& g$ f m B$ S3 I - ;ignore_user_abort = On" l: N5 E+ _0 O
- ( x! i) _% Q# m/ t# G
- ; Determines the size of the realpath cache to be used by PHP. This value should# F s2 {5 }% t, O$ X/ m6 _6 u. X
- ; be increased on systems where PHP opens many files to reflect the quantity of8 ?; M& l- a9 \! m
- ; the file operations performed.1 A9 X5 O6 y1 J, g! f5 b! c( Y
- ; http://php.net/realpath-cache-size
7 c& `( E* f+ l8 e - ;realpath_cache_size = 4096k S% h3 |) P3 H* s
- 2 A# d, J+ k+ m1 w- A. Z
- ; Duration of time, in seconds for which to cache realpath information for a given& [+ }. s$ S' N2 ^) e. ~
- ; file or directory. For systems with rarely changing files, consider increasing this
/ }( _. @. |; z+ V m - ; value.+ h% L5 Q! B8 c- {# F# F+ P; Y
- ; http://php.net/realpath-cache-ttl
% [1 w: r' D4 a p - ;realpath_cache_ttl = 120
! e" e1 Q' }7 `* ~- x% x' b
9 A% V( R' W, a. {5 B& I- ; Enables or disables the circular reference collector.
$ z' X6 i% e# q! b$ u# ^ - ; http://php.net/zend.enable-gc2 t) ]( f- s$ Y# e) u3 o( y, R. c
- zend.enable_gc = On
# w* l3 K1 b9 k: H - / Q" h) Z6 a) O6 s5 X
- ; If enabled, scripts may be written in encodings that are incompatible with. ]! e: V- a& {1 F6 Z! s
- ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such( i* N( [7 z/ r( Q2 s
- ; encodings. To use this feature, mbstring extension must be enabled.
6 P; K* O8 _% c& y$ u - ; Default: Off1 `: ?8 J" J7 [! t% n
- ;zend.multibyte = Off
* Y5 k. m' k, o
: q. n; _2 y8 K: j3 Y' R* k- ; Allows to set the default encoding for the scripts. This value will be used
- m F! I- s3 b, P - ; unless "declare(encoding=...)" directive appears at the top of the script.7 t+ T3 b9 l# }" f& i; P' Y
- ; Only affects if zend.multibyte is set.5 t& a/ M. m' i s, c5 S
- ; Default: ""
1 U1 y* q* U) P4 Q2 ^! U - ;zend.script_encoding =
, C6 B0 I* V8 A9 a v: g
4 J6 G7 j6 j `- ;;;;;;;;;;;;;;;;;
7 z1 K7 L' n* U; `" s9 d# I - ; Miscellaneous ;0 c0 t/ A8 {. R
- ;;;;;;;;;;;;;;;;;
! z$ p z+ _4 \7 t
/ n- h4 c+ }, }- ; Decides whether PHP may expose the fact that it is installed on the server
+ A( v4 i) |( u: m) V - ; (e.g. by adding its signature to the Web server header). It is no security6 |$ a, z3 W" j( U4 @8 a# ?+ K6 S
- ; threat in any way, but it makes it possible to determine whether you use PHP
7 x% v$ D+ {; K; T) H* g8 h3 S$ h - ; on your server or not.
& d6 {9 v* w' a1 {. L; \ - ; http://php.net/expose-php/ Q7 a" U' X/ p* M+ Y
- expose_php = On U- o _7 M& B, {$ w) W
4 J% O; s5 z$ o- ;;;;;;;;;;;;;;;;;;;7 N, o+ }/ [ F7 j4 Q& b! _ ]: {. |
- ; Resource Limits ;2 B+ c0 E% f; ? E
- ;;;;;;;;;;;;;;;;;;;9 T1 S( |, A& l
- 1 U/ C( ?- j3 X/ h1 s
- ; Maximum execution time of each script, in seconds, D# O8 V1 }" B' [" p$ ]3 v3 \8 `. m& i
- ; http://php.net/max-execution-time* K1 O5 _) _9 T
- ; Note: This directive is hardcoded to 0 for the CLI SAPI/ [" @ c* O5 X3 Z
- max_execution_time = 300
: e% S& W( `1 ]. J- P8 p/ h - " x; g& P+ g R4 H% `+ v9 j: t
- ; Maximum amount of time each script may spend parsing request data. It's a good
2 M0 K m: R* {3 N - ; idea to limit this time on productions servers in order to eliminate unexpectedly
# B. ~0 u. {# y* Y9 u) s% u6 T - ; long running scripts.( t% ]' z4 N+ T3 U; d" @
- ; Note: This directive is hardcoded to -1 for the CLI SAPI0 ?6 K* G. F- [' `, E
- ; Default Value: -1 (Unlimited)% I9 w$ ?: K' t$ q7 G0 T
- ; Development Value: 60 (60 seconds)
/ f, J. `- _% c( X0 z2 e- R - ; Production Value: 60 (60 seconds); W/ q/ G7 ^/ V7 O* I7 @# Z
- ; http://php.net/max-input-time; V# R# c" K5 N/ F
- max_input_time = 60
- ^$ x; J% q5 x - 0 {$ |2 u! v; Y6 Y( V; @
- ; Maximum input variable nesting level
, g6 B- ?0 D# P* o/ w - ; http://php.net/max-input-nesting-level
7 ~8 Z! U- b( m - ;max_input_nesting_level = 64* b) U4 D% Q7 L/ j% Q0 _
: R2 x! k+ S% K9 a: e5 K5 z# c- ; How many GET/POST/COOKIE input variables may be accepted
, v* O* V& }, b( B5 X - ; max_input_vars = 1000
( X; U# z* \& s* r - / g/ U- ]: ~& Z- K9 _( J# w
- ; Maximum amount of memory a script may consume (128MB)8 S* Q. u4 H, ^; B
- ; http://php.net/memory-limit8 g" H- X1 b2 {
- memory_limit = 128M
1 u* [1 a+ }) Q" F - : U% W3 j8 s* A! s3 V+ ^$ e$ C
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0 X7 F9 m2 |. H - ; Error handling and logging ;; F6 u2 G4 h( s" \
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0 z4 t& o$ R, K$ @0 }# A3 o5 a
) |' [- Z) M* O7 s/ d- ; This directive informs PHP of which errors, warnings and notices you would like, r0 C" r1 T/ p( J
- ; it to take action for. The recommended way of setting values for this3 Z; }3 o; W: R+ n. {
- ; directive is through the use of the error level constants and bitwise
2 Q; ^. P6 g3 t# ]' g - ; operators. The error level constants are below here for convenience as well as2 }: \/ g+ _+ E: x/ n% M) `
- ; some common settings and their meanings.
- W! r4 j% a5 s" t, i - ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT% k, g) g& W' E* U7 }' m1 Q
- ; those related to E_NOTICE and E_STRICT, which together cover best practices and
4 a9 r! N2 F5 m% o( {- t! Q1 H! i - ; recommended coding standards in PHP. For performance reasons, this is the
$ j# B- m. @' d9 i3 O - ; recommend error reporting setting. Your production server shouldn't be wasting$ ?# _0 J* ^9 [
- ; resources complaining about best practices and coding standards. That's what) D, D/ [! ]. n
- ; development servers and development settings are for.
, J+ d; Y; I' E' q' Q. v5 x - ; Note: The php.ini-development file has this setting as E_ALL. This
' \0 F8 \' W' v1 S! c - ; means it pretty much reports everything which is exactly what you want during
Q1 a- o8 q3 j# U- I- v3 H$ B/ p - ; development and early testing.
, [/ Q+ {. w4 ]+ @3 ~2 \ - ;. x5 z% [: ]! @1 |5 v2 ]
- ; Error Level Constants:, b* [7 v" ^9 H" e7 O) K
- ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0)2 [- c$ t6 L5 h, W1 `
- ; E_ERROR - fatal run-time errors
5 v6 f) D! a1 E& C* t - ; E_RECOVERABLE_ERROR - almost fatal run-time errors; v/ n3 N9 X' J6 H1 h9 b
- ; E_WARNING - run-time warnings (non-fatal errors)
8 m( `- a, K9 @4 i, x+ Q$ Q* q - ; E_PARSE - compile-time parse errors2 x) n: |: m$ h, x) H9 _& V0 W
- ; E_NOTICE - run-time notices (these are warnings which often result
, Y: g% b( u5 v4 ^& s - ; from a bug in your code, but it's possible that it was
1 @1 g% N" L9 f0 z* P8 C - ; intentional (e.g., using an uninitialized variable and# [+ m T$ b7 v1 z( m
- ; relying on the fact it is automatically initialized to an
) r) |& j; t9 m3 `5 D1 v - ; empty string)
+ @) A) Q$ ~1 v+ N# Q4 [7 Z - ; E_STRICT - run-time notices, enable to have PHP suggest changes: q7 Y4 c( A* |- }# {
- ; to your code which will ensure the best interoperability
" u' F* G0 j; l) S$ w, p5 ~ - ; and forward compatibility of your code
h- C4 J6 f& h# t8 ~& J/ S, z- z - ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup; D! M. [! Z6 m% _
- ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's- _* T7 \( j+ [, K' C; @
- ; initial startup
0 v, z8 S( r H4 z - ; E_COMPILE_ERROR - fatal compile-time errors
K7 p7 v& R+ A: t; ^ - ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) z$ p9 l, l& B: K; u% _, b5 {4 B; e
- ; E_USER_ERROR - user-generated error message; t/ W! Y* v% c' Q9 r) C
- ; E_USER_WARNING - user-generated warning message
4 P4 W$ h! c6 M; k - ; E_USER_NOTICE - user-generated notice message
& {" T" p2 X8 m% M( i% A4 I - ; E_DEPRECATED - warn about code that will not work in future versions
: K0 Z q, S$ e1 F+ x0 }# f* u6 ] - ; of PHP
0 E" k6 Q* V$ K- }# t0 y - ; E_USER_DEPRECATED - user-generated deprecation warnings
1 W) c3 [9 F; B8 F- s - ;
: p- j: K4 E! q - ; Common Values:
4 A. h7 {7 c; h - ; E_ALL (Show all errors, warnings and notices including coding standards.)
5 T/ e7 |7 g& @+ [8 s4 E1 ~ - ; E_ALL & ~E_NOTICE (Show all errors, except for notices)
o! V2 _6 L4 D - ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
! V& T+ o0 v. N0 } - ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)1 }! y) s4 \( g
- ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
, O, }- U7 s5 Y - ; Development Value: E_ALL* y9 |3 M$ O" E, P" _
- ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
' H- G. v6 M0 Q! o, } - ; http://php.net/error-reporting
. |3 C+ L+ ]2 p* V# E - error_reporting = E_ALL & ~E_NOTICE' s# R# e) _- ]9 D6 X
- 3 I2 b( |& r/ r4 |; j h. ]' q
- ; This directive controls whether or not and where PHP will output errors,
+ L) T S% Q0 k - ; notices and warnings too. Error output is very useful during development, but6 t& j" C7 w- X, l$ I
- ; it could be very dangerous in production environments. Depending on the code
' r: T9 O _+ o - ; which is triggering the error, sensitive information could potentially leak
u% n7 @7 |( m - ; out of your application such as database usernames and passwords or worse.
8 P! M A9 h2 ^2 @, l9 P4 x0 m - ; For production environments, we recommend logging errors rather than
0 i6 N8 g0 L, q/ w - ; sending them to STDOUT.
5 `6 o) m' O/ E - ; Possible Values:
0 a# A8 m8 s# ~+ } - ; Off = Do not display any errors* P4 k" G3 E6 T+ v4 P
- ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
7 F+ m* g, @' L- N/ J - ; On or stdout = Display errors to STDOUT
8 j0 |' L- G6 ]5 U/ j: c - ; Default Value: On/ \6 M8 G" u+ D" Y
- ; Development Value: On# ~. J2 ]! ^/ {( e2 e. N
- ; Production Value: Off" z% M) l$ }' h$ l/ C% S4 K
- ; http://php.net/display-errors
# J- X% L A8 G) W. V - display_errors = On
2 M" r/ U9 ]$ ?2 U5 f - 6 N& i+ f: c! @) R9 g1 a$ a
- ; The display of errors which occur during PHP's startup sequence are handled0 k* ]: c1 O, q* i
- ; separately from display_errors. PHP's default behavior is to suppress those
6 ^+ q5 G9 K# y+ q% ~ G - ; errors from clients. Turning the display of startup errors on can be useful in
& _/ B3 \ F. X$ Z( [ - ; debugging configuration problems. We strongly recommend you; d) s: s( M8 g3 Y
- ; set this to 'off' for production servers.
# r. K8 @( J* W0 Z! [! b7 Y; ]6 | - ; Default Value: Off3 N4 y& w: a& ^& _$ z2 K$ L8 b4 b
- ; Development Value: On
, l5 M/ _! |6 s - ; Production Value: Off2 m; E S& E, l* D# ^! `
- ; http://php.net/display-startup-errors, s& y8 o( N6 E' A
- display_startup_errors = Off
4 d! v( |" h4 f* e& s) a* A - ) H3 Z( `; U) [0 ]0 c" ]% R' l' S
- ; Besides displaying errors, PHP can also log errors to locations such as a+ e z: ?' D4 W; R5 [6 t
- ; server-specific log, STDERR, or a location specified by the error_log
+ R: A/ r) A' f; }7 H1 n5 ] - ; directive found below. While errors should not be displayed on productions
* V$ ^) y- M6 w' {% X - ; servers they should still be monitored and logging is a great way to do that.
, R O8 V7 x0 G' h- T - ; Default Value: Off7 c: z9 e# I0 Z: \3 ~& A
- ; Development Value: On; C7 \+ k% d# K. J; s; B
- ; Production Value: On) U6 V! [4 R1 L9 W% n& ?5 g
- ; http://php.net/log-errors
8 a% l! l8 ^! l% W3 b - log_errors = On
# f9 B! p( z: B4 Z - & B7 _* Q1 X) j! H7 J
- ; Set maximum length of log_errors. In error_log information about the source is' s* K3 c: H. l
- ; added. The default is 1024 and 0 allows to not apply any maximum length at all.. R3 W4 A9 w/ }+ `. W8 g0 U, V
- ; http://php.net/log-errors-max-len: K3 y& a/ p8 @/ U2 N4 Q
- log_errors_max_len = 1024' o4 i) W C) H, ?) ]3 G
- . c9 K8 _# p" r o! Q" k1 ^4 G! t' \
- ; Do not log repeated messages. Repeated errors must occur in same file on same" f6 ?& B+ A3 {
- ; line unless ignore_repeated_source is set true.' q( y2 g2 u- W, r) o
- ; http://php.net/ignore-repeated-errors* k6 s% r: Y+ N, c
- ignore_repeated_errors = Off
6 H% _1 G! f! f. w1 v u - * m$ H/ M1 u: c/ f8 a
- ; Ignore source of message when ignoring repeated messages. When this setting8 k. _, j8 p- e- n$ {6 y
- ; is On you will not log errors with repeated messages from different files or
! R& @( Y% p8 M6 W, C! @& q8 D2 ~ - ; source lines./ {$ p2 x* B, N1 N* e5 R2 }
- ; http://php.net/ignore-repeated-source! G6 r7 m0 v8 s- C
- ignore_repeated_source = Off
( {5 m# p4 q( W' ?+ p4 W - " ?6 X! C1 G% g7 a G* g) m) P! |
- ; If this parameter is set to Off, then memory leaks will not be shown (on& c% k+ i: O* i
- ; stdout or in the log). This has only effect in a debug compile, and if
6 P/ i/ O3 U. C3 g+ [6 \( P7 g1 c - ; error reporting includes E_WARNING in the allowed list
; q) i0 r2 X' n0 Q, f9 t+ s - ; http://php.net/report-memleaks
6 E' M. ~2 p. B3 Z' b$ Z - report_memleaks = On' \! P; p% u* a! T) Q
- 5 d- T9 ?% m( \$ `" \
- ; This setting is on by default.
4 R5 d+ q( }" u8 A - ;report_zend_debug = 05 N7 R. e" z! S" `) B7 I$ y
- 7 D, G T- b5 @' S
- ; Store the last error/warning message in $php_errormsg (boolean). Setting this value, a& O: B5 h! m' S. x
- ; to On can assist in debugging and is appropriate for development servers. It should
0 [" w9 W, A2 Y" X# m - ; however be disabled on production servers.
% J. e. d+ c$ e6 P2 N; ` - ; Default Value: Off
3 K5 i4 c' I/ M E- @ - ; Development Value: On1 O3 y7 n g( Y% J
- ; Production Value: Off
) C Q/ h4 y/ D8 q6 X - ; http://php.net/track-errors& c% X( e' C' d* o5 D- x3 N
- track_errors = Off6 J. o* r" Z7 L D& o
- * ~0 z5 c2 Y. b
- ; Turn off normal error reporting and emit XML-RPC error XML) d4 f; M3 Y0 j6 E. I6 i
- ; http://php.net/xmlrpc-errors
( e, o* L* f n5 m% | - ;xmlrpc_errors = 0
& m0 O k" @/ S( W
* x' k( t t, C- ; An XML-RPC faultCode2 w1 b. x8 m1 s3 p! m7 v
- ;xmlrpc_error_number = 0
9 a$ U- i0 T( ?
7 B1 v$ ~: F4 Z( g# K5 W- p- n- ; When PHP displays or logs an error, it has the capability of formatting the3 i, i' ^* G4 ^ @9 b. b
- ; error message as HTML for easier reading. This directive controls whether
; h) R4 F$ f1 _" \7 I+ S2 |. {0 B - ; the error message is formatted as HTML or not.
) x$ { \) `1 v5 L0 @ - ; Note: This directive is hardcoded to Off for the CLI SAPI3 h8 N5 }* n0 A( B
- ; Default Value: On
1 g5 O1 w! Z6 Y' s+ ?: e - ; Development Value: On% p5 X1 [: t3 C" U$ `7 ^# W
- ; Production value: On; C) l0 N" x& Q* E% L
- ; http://php.net/html-errors
0 o4 B; b: A# o% l, s! X - html_errors = On* m; v( O h: C2 j
- `- L; [& n& u8 I2 Q% `9 y
- ; If html_errors is set to On *and* docref_root is not empty, then PHP
h7 r5 I; E) c - ; produces clickable error messages that direct to a page describing the error
+ G* P! D( I! [8 i3 v - ; or function causing the error in detail./ O: J. [. p& P { {# c
- ; You can download a copy of the PHP manual from http://php.net/docs; n% h! {8 T0 H6 r
- ; and change docref_root to the base URL of your local copy including the
. P) } e) ]9 x2 M - ; leading '/'. You must also specify the file extension being used including
( n+ ]* U7 G9 R0 X" T - ; the dot. PHP's default behavior is to leave these settings empty, in which( J3 p0 {. d( ?# n# z
- ; case no links to documentation are generated.
( [# @$ ~3 q4 G: m8 E - ; Note: Never use this feature for production boxes.
$ I k9 T; x! Q& V8 W - ; http://php.net/docref-root/ M% J6 ~# a, p p3 f% c
- ; Examples" I$ v3 A+ {. p5 I, L
- ;docref_root = "/phpmanual/"
0 h$ A% ~1 l n D7 a, ^; G! ~1 h - ; E0 }1 L2 ^" O# Z
- ; http://php.net/docref-ext! C- v+ I' }8 c! s
- ;docref_ext = .html# c3 x- Z5 }/ _- E0 c. \
- & I' Q4 u! R8 m+ B+ l* U& v
- ; String to output before an error message. PHP's default behavior is to leave
+ o( V: P6 s6 D+ u2 }' y" a, a* Z - ; this setting blank.
- i6 X5 a7 \2 A7 p, }2 ? - ; http://php.net/error-prepend-string
# ?) y0 u: C& ^0 ? - ; Example:
. X6 @9 |3 Z. r1 P3 _: [ - ;error_prepend_string = "<span style='color: #ff0000'>"
: J" L6 q3 `+ G0 @ - # C5 O1 U% C. I# B- r; f6 z+ L
- ; String to output after an error message. PHP's default behavior is to leave
5 p9 T7 o: {, G+ \$ W7 g - ; this setting blank.4 \. \& \0 P! f" ?5 V- N
- ; http://php.net/error-append-string
2 `8 {/ w2 g1 O - ; Example:
7 g5 G" @4 @9 C" y - ;error_append_string = "</span>"
; y! q( G+ Y. x p" N. v _9 t3 I: y/ u - - ^' Z7 M/ e% L
- ; Log errors to specified file. PHP's default behavior is to leave this value& G) {, n; i' t8 l- C
- ; empty.& v3 j6 Q" _8 r0 _' y6 U2 w
- ; http://php.net/error-log
, r2 `7 b6 s0 q) g& x5 H5 Y/ u - ; Example:7 z. u* o3 b: f6 I, a0 d
- ;error_log = php_errors.log
4 h" I6 S6 Y) \& F - ; Log errors to syslog (Event Log on Windows).% `' n- l* P% j% Z% b3 H) }; E4 \
- ;error_log = syslog9 g+ G2 j" F* K
- - v* O2 R6 `9 L. ?
- ;windows.show_crt_warning
! @) Y' ?; [6 U- S9 L, R% p% h - ; Default value: 0
. e8 ~) k+ i) ^: r( {. Q - ; Development value: 00 \* e; Q$ b- s% J5 Y. f; f
- ; Production value: 01 A9 v' h8 s& g' [1 I3 U
- + |4 r, _( ^$ B& T9 X# @* }! j
- ;;;;;;;;;;;;;;;;;
1 T$ l+ M# {0 \4 C; I+ ?" R9 `! K - ; Data Handling ;
. Y; {: e# C+ U6 g f/ a - ;;;;;;;;;;;;;;;;;
8 r0 e& B3 u+ x4 e( ]3 E. s9 H+ m - ' q; {; Y8 A6 A; r9 C
- ; The separator used in PHP generated URLs to separate arguments.# Z( y! ~; B* @2 b
- ; PHP's default setting is "&".+ c0 w: y, i! m8 L- a
- ; http://php.net/arg-separator.output3 N2 m2 H4 M+ k5 d9 H) ~; I; N W
- ; Example:1 Z- c( S' L k& A
- ;arg_separator.output = "&"5 Z% U6 ~' p# y _
- * v6 }; k4 c: w
- ; List of separator(s) used by PHP to parse input URLs into variables.
- V {) t3 x& T; n# D+ h - ; PHP's default setting is "&".
! j6 x4 q: Y. d1 D7 T - ; NOTE: Every character in this directive is considered as separator!
3 X. }- t# m. d9 Y - ; http://php.net/arg-separator.input. A1 s) [; m( _- A1 x; J% [: c4 Q; U
- ; Example:. c% N; g) W; A8 y* Z
- ;arg_separator.input = ";&"
8 n4 K% Q( Y# A/ p, N
1 i3 n" }/ k% M3 h9 L- ; This directive determines which super global arrays are registered when PHP
1 O) G- @; t4 R6 {$ ^* R; U6 a5 l0 H$ l - ; starts up. G,P,C,E & S are abbreviations for the following respective super
$ }+ @5 u. `% {- N+ ~! u9 m* R l - ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
: s( V$ k8 s' x* t3 n, s$ d# { - ; paid for the registration of these arrays and because ENV is not as commonly
$ U9 D. ^1 v4 `4 ]- e1 _ - ; used as the others, ENV is not recommended on productions servers. You0 _( B; o2 c5 C M& Y
- ; can still get access to the environment variables through getenv() should you
+ E& f4 Q' N$ F: J3 C - ; need to.
9 c; n; Q' \ Z8 Q' E - ; Default Value: "EGPCS"# V9 o% x5 B) {$ x
- ; Development Value: "GPCS"& ] b; K5 E- g3 r8 ^; d6 g
- ; Production Value: "GPCS";
: O$ u3 p a1 W. I - ; http://php.net/variables-order5 `/ s9 |5 k3 l$ ~% u
- variables_order = "GPCS"! i1 R8 v% T0 X: B, t7 ]1 K( r% _
- : S$ B+ F/ S7 p
- ; This directive determines which super global data (G,P & C) should be2 A7 r/ h" A3 N h& C, o( v+ j
- ; registered into the super global array REQUEST. If so, it also determines. X* V; ^3 L% o' E
- ; the order in which that data is registered. The values for this directive
. L+ j- ], O/ b4 ~1 B. O2 R - ; are specified in the same manner as the variables_order directive,
* C4 z4 A7 r9 h - ; EXCEPT one. Leaving this value empty will cause PHP to use the value set
7 Z1 ^9 X1 w- H4 {) `( t - ; in the variables_order directive. It does not mean it will leave the super/ X8 V" @. M- w& s r7 {
- ; globals array REQUEST empty.5 }3 P: O6 ~+ ?2 Z) ~2 J5 F
- ; Default Value: None
+ W8 @1 c5 L M4 b: _ - ; Development Value: "GP"
6 r6 y5 S. ~/ f! X) y5 C - ; Production Value: "GP"
" g# m- R/ m- P0 v) K! a - ; http://php.net/request-order+ A) D$ d) `9 o/ p
- request_order = "GP"
# B6 H7 e2 ~$ I4 l( W1 y+ x - 8 o9 O0 a6 a; F) g4 U
- ; This directive determines whether PHP registers $argv & $argc each time it o. D( Y0 @3 m' {$ F, U! c2 s
- ; runs. $argv contains an array of all the arguments passed to PHP when a script
$ H6 h% Q# j4 b% b" a6 C - ; is invoked. $argc contains an integer representing the number of arguments
+ V3 S5 n. I$ n6 {, { - ; that were passed when the script was invoked. These arrays are extremely( F8 i/ y! K* H: A+ L& e
- ; useful when running scripts from the command line. When this directive is
3 ~ H3 E/ d& l: t3 p. w8 l - ; enabled, registering these variables consumes CPU cycles and memory each time1 W9 P1 N: P$ I- g7 `, w. S
- ; a script is executed. For performance reasons, this feature should be disabled6 {7 m* w+ l- i8 L
- ; on production servers.3 o8 ]* g. q1 k. I' |
- ; Note: This directive is hardcoded to On for the CLI SAPI
' ?3 Y! A# a& t- `" k - ; Default Value: On! B+ d: h+ E G8 n4 t. V
- ; Development Value: Off
; j9 ~1 k: H5 T3 ~ - ; Production Value: Off
! J( Z- M5 ^0 H& Z - ; http://php.net/register-argc-argv P9 c/ C* {, ~, r) r9 I. d
- register_argc_argv = Off
: U" ~" q( b8 J# z P/ z( ~6 _: i
: K1 b) e" _7 ~$ \& c# W- ; When enabled, the ENV, REQUEST and SERVER variables are created when they're
6 U) {9 H, Q$ N! w" ?8 Q$ ? - ; first used (Just In Time) instead of when the script starts. If these
4 n) V: _9 f7 o2 V) W6 S - ; variables are not used within a script, having this directive on will result
3 `! d5 @" c7 d# w. K, P - ; in a performance gain. The PHP directive register_argc_argv must be disabled: _3 R( W+ f& ^. W
- ; for this directive to have any affect./ J4 ~3 e5 o4 w( q: q2 c
- ; http://php.net/auto-globals-jit$ }! M7 S3 Q$ e" }: }
- auto_globals_jit = On
2 S B* y. _: H: J
' L6 c1 W3 v5 `8 P3 b' y$ h9 x- ; Whether PHP will read the POST data.
f% E: P5 q' l: U - ; This option is enabled by default./ S. r/ ]7 E; V
- ; Most likely, you won't want to disable this option globally. It causes $_POST2 B$ B- i1 [* K5 M, O# @) C
- ; and $_FILES to always be empty; the only way you will be able to read the
; J u: u) Z* i6 i4 n% x6 e+ y - ; POST data will be through the php://input stream wrapper. This can be useful
# S3 N/ [& S3 W1 ~2 [* N - ; to proxy requests or to process the POST data in a memory efficient fashion.. @+ G9 c @ u* u
- ; http://php.net/enable-post-data-reading
7 _& u. v5 J0 J# o9 P# n; _ - ;enable_post_data_reading = Off" m8 a. S6 K7 d3 _& s1 C
- ( S* X0 Y5 @( c" C& g
- ; Maximum size of POST data that PHP will accept.
/ N$ c. R- W X* @) y - ; Its value may be 0 to disable the limit. It is ignored if POST data reading% `) C0 D& H' f+ \, S5 z6 v9 I, I
- ; is disabled through enable_post_data_reading.
! M- w$ a/ L- M( U* G8 X - ; http://php.net/post-max-size
& Y9 k8 k9 @& H* R" k x# I - post_max_size = 50M. M( i4 E" o6 E1 q. g* }
- " ]2 H, @9 @5 Y6 _ ^
- ; Automatically add files before PHP document.% R7 E8 R* a# p& X7 ?
- ; http://php.net/auto-prepend-file: [8 q e$ K/ G u7 z. }3 h' n3 p
- auto_prepend_file =
: G6 V3 j7 _. m5 o/ E6 q/ X
; R) B# I B! y: n# T* x( t' S- ; Automatically add files after PHP document.
; A2 g* k* J: A - ; http://php.net/auto-append-file
" z a8 [8 D4 F& G - auto_append_file =
) U/ p/ i8 z3 Y6 M) Y6 Z
% t1 w7 [" a/ k Z- ; By default, PHP will output a media type using the Content-Type header. To% T; g1 R c/ K. ?3 a: Z |! l
- ; disable this, simply set it to be empty.
^5 i# M' k" `* _ z* g - ;
; v5 D. |. d! {$ X6 G6 w2 {) ^% X - ; PHP's built-in default media type is set to text/html., k" P* f6 [9 x7 Y; T( a3 `& j7 o
- ; http://php.net/default-mimetype% {" F) H4 [+ m3 x
- default_mimetype = "text/html"
3 U8 |" i: z d
! P1 N% l. I( t% G: A7 l- ; PHP's default character set is set to UTF-8.- G7 n& {; Q$ t3 ~3 O* S" j
- ; http://php.net/default-charset- X+ F1 y- z7 T2 f ~
- default_charset = "UTF-8"5 Q% u% |0 G0 l) \
1 R& V1 b1 r2 X9 [7 v, B( h% t- ; PHP internal character encoding is set to empty.
4 {7 k. j4 }% D0 p: y- v, h - ; If empty, default_charset is used.
7 d/ [1 r- {! r4 j - ; http://php.net/internal-encoding; V2 n* I" m; ^7 \
- ;internal_encoding =* o) v( w1 X7 { m2 D
- 4 I$ b! I: Z. w2 q
- ; PHP input character encoding is set to empty.
' q2 \! m+ s. K; f& V6 K: `! R - ; If empty, default_charset is used.
2 V( s* h0 b, h7 Y) _9 X - ; http://php.net/input-encoding
( a2 x4 R- ?3 ?* \ - ;input_encoding =
7 J% h3 o H( c, X6 B. V' C
5 R- U5 j- b3 }' t6 ~( y) ]# I- ; PHP output character encoding is set to empty.' g! Y X& K; A( z1 g
- ; If empty, default_charset is used.
# y& W. V. ^! ? - ; See also output_buffer.
+ p) y" ^3 x7 m, s+ y- X" s1 g - ; http://php.net/output-encoding
% |# l: |1 v2 r9 X - ;output_encoding =
$ h$ |: s/ L8 ]* H
) z" R3 I3 T1 [- ;;;;;;;;;;;;;;;;;;;;;;;;;
" X0 L K: G# O" [7 d4 E9 r - ; Paths and Directories ;
; \) j8 r* F0 x( _* z1 R - ;;;;;;;;;;;;;;;;;;;;;;;;;
7 z) s' K7 O8 i+ E" K0 _ - & G% o3 h" _6 I. m2 X% C
- ; UNIX: "/path1:/path2"
" Q" t: U- H' G0 ?; ?8 B- Z - ;include_path = ".:/php/includes"
% p5 r/ h3 `5 `8 s5 R - ;
% x* f$ g% E# T. l - ; Windows: "\path1;\path2"- _' @; j( r' O" d: h- h
- ;include_path = ".;c:\php\includes"2 K' l3 J0 f! @- M7 k
- ;' L! u0 L u- _! }! z$ V
- ; PHP's default setting for include_path is ".;/path/to/php/pear"
/ {" @2 S! O- ]6 Q" x - ; http://php.net/include-path
8 s1 h o0 A% q0 l; A' q - 7 {" c6 z# B4 m: d5 j0 P
- ; The root of the PHP pages, used only if nonempty.8 ?0 \8 P2 B# l+ z# F: T* l: [
- ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
. k* V! H7 K& p3 Q& D6 _" d: ~9 } - ; if you are running php as a CGI under any web server (other than IIS)
6 J2 ^9 Q; H- e: x - ; see documentation for security issues. The alternate is to use the" ?# \1 x2 F: T g. m
- ; cgi.force_redirect configuration below
( { l: j8 b- a- D& D0 q - ; http://php.net/doc-root# i" S i. Q; M
- doc_root =; d }3 S- T p, I
( k' L3 s- W. Z- ; The directory under which PHP opens the script using /~username used only6 T0 H7 I) s/ R
- ; if nonempty.
5 B( l. ]; H! [9 {5 {! Y - ; http://php.net/user-dir0 m, l! L7 Q+ ^7 W( T$ @( d* a6 _
- user_dir =
7 ^- c2 ]2 G$ R4 t4 x& m3 ~0 N
# g8 S) D4 U- B: R! {- n- ; Directory in which the loadable extensions (modules) reside.
- `. [' `3 R" f) M4 S3 M0 M1 \ - ; http://php.net/extension-dir
3 P/ [: Y, p9 Y5 } - ; extension_dir = "./"& U$ |! r ]: \3 a; ?, M* C
- ; On windows:! {4 L7 c' q/ {( |2 [- P
- ; extension_dir = "ext"
! y: V3 t& ^! h - + k' n8 B' H) W8 P0 e
- ; Directory where the temporary files should be placed.
# p" k4 }; j b! I! J, S/ B* g - ; Defaults to the system default (see sys_get_temp_dir)6 H2 z( G& H: i6 B, {
- ; sys_temp_dir = "/tmp") p. \; g( m1 l/ f
- 5 E/ n3 \' `# D9 W/ D8 m' H# s/ p
- ; Whether or not to enable the dl() function. The dl() function does NOT work
, `# N( T$ T4 @, m - ; properly in multithreaded servers, such as IIS or Zeus, and is automatically: f: O% z6 [, c
- ; disabled on them.
; ]* v- Q1 _+ x* V3 W% C - ; http://php.net/enable-dl( L. U$ ], }, `7 Q D% J! I
- enable_dl = Off' V0 k4 P( e& S& p, d4 N. X; I
* q' [" i8 m/ }. Y- ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; Z: r3 b8 u& a5 n8 [ - ; most web servers. Left undefined, PHP turns this on by default. You can- F% ]) {, \$ F! \# G+ f: g
- ; turn it off here AT YOUR OWN RISK
) j0 b& @& @/ s6 y - ; **You CAN safely turn this off for IIS, in fact, you MUST.**+ W+ Y6 Z$ C9 ?1 m3 F2 Y4 P
- ; http://php.net/cgi.force-redirect
$ {: [. d2 e! \8 h5 a+ | - ;cgi.force_redirect = 1
; S' ~2 M5 {9 e0 ^
S0 m4 q( g* C% m3 ^- ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with; U8 U# Q( @! q: g* o
- ; every request. PHP's default behavior is to disable this feature.0 o9 e( G( B! i8 A) q
- ;cgi.nph = 1) j( s- ~; W w& |* \( O0 W
- 9 \' z8 s1 a4 `4 U4 Q u/ z2 [
- ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
: T" s: A2 C; b* c9 f8 d K, F - ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
) M2 Q. j3 N2 U5 ^% p' [" c+ ?$ L - ; will look for to know it is OK to continue execution. Setting this variable MAY: s, p) B" f' z. |( p; p1 |. p: u# W
- ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.3 L) _' N, ?) U) \, X
- ; http://php.net/cgi.redirect-status-env
6 {: {, x. R1 b# ]" Y1 V' R1 x" n - ;cgi.redirect_status_env =
/ h- F5 S) r' t: @ - . a/ Y# l% ]) l+ A
- ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
, S3 C3 {3 N' R, V/ M - ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
3 @$ C( O2 |% ^# z; L" h# m1 E - ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
/ h7 H) i7 E( x4 ?' {$ x$ S7 i - ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
- I# q% h: ~1 o3 D( a6 P* P/ L - ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts+ e% I) @7 b' o( q
- ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
' D; l1 W+ L; Q; M% j - ; http://php.net/cgi.fix-pathinfo, V6 O. S- W, O3 H; u% r
- cgi.fix_pathinfo=1
" M( S! U& g9 ` H" M( R9 P - + D" r' x4 B0 @
- ; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside& x- q/ _1 n0 ?5 A# P% _6 w5 R
- ; of the web tree and people will not be able to circumvent .htaccess security.) ~7 u4 `4 u* q1 e0 J
- ; http://php.net/cgi.dicard-path
0 b, l# E; c1 e) s" Q: h - ;cgi.discard_path=1
) @+ J; B* B4 @. m% x
3 a; Q8 _ A" N% j' o7 D# M9 F- ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
1 C% A, A0 a' `/ v3 l - ; security tokens of the calling client. This allows IIS to define the, r* v) U$ d. r; I
- ; security context that the request runs under. mod_fastcgi under Apache
% {, m. K6 p: B5 T: n1 j* e _ - ; does not currently support this feature (03/17/2002)) z# u. H6 W% Y& k) @
- ; Set to 1 if running under IIS. Default is zero.1 _" I, p3 D0 v) G k; e4 x2 y
- ; http://php.net/fastcgi.impersonate
' S; i' Q% O* @2 i* X - ;fastcgi.impersonate = 1
- ?7 v) [8 t& y3 T4 o. Q - 0 r+ K _+ S( f
- ; Disable logging through FastCGI connection. PHP's default behavior is to enable& R) Z. E' c8 v$ l1 N" K1 h' N
- ; this feature.+ W) y4 ?; h- p
- ;fastcgi.logging = 08 l7 M! k* a% S+ A/ D; C" A
- 0 c- y" l( V+ g
- ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
# z; D8 ]) `# W# J4 d9 V4 ~9 { - ; use when sending HTTP response code. If set to 0, PHP sends Status: header that0 u+ Y" u7 s" t6 v9 c, ?2 x \
- ; is supported by Apache. When this option is set to 1, PHP will send
( U5 c* _6 X0 T5 K - ; RFC2616 compliant header.
( X4 k6 K' D3 D - ; Default is zero.
" [0 P( w. A- Z# a: C - ; http://php.net/cgi.rfc2616-headers
# ^7 _! I1 \; i j h' T - ;cgi.rfc2616_headers = 0) D+ C0 F$ I# r
% P g1 n( ]7 v- ; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
( e! Y+ [8 f$ P* G* C: l8 x - ; (shebang) at the top of the running script. This line might be needed if the: V" A- R5 V( p$ ?
- ; script support running both as stand-alone script and via PHP CGI<. PHP in CGI
9 {5 {: g8 i" `+ T - ; mode skips this line and ignores its content if this directive is turned on.
/ a$ [3 R) i3 X8 D1 H+ J - ; http://php.net/cgi.check-shebang-line; e. `6 j% F8 t8 b0 k Y5 ^1 Q
- ;cgi.check_shebang_line=1! ~" m! L' u: }; Z; _. U9 [- i
" u8 k9 ?8 O, ]& i; i* H, |- ;;;;;;;;;;;;;;;;
, }9 s3 ~. Q! b h5 {) v# H a' Z4 H - ; File Uploads ;
$ A* i* u7 G( H3 d - ;;;;;;;;;;;;;;;;
' E9 P6 d5 \! g# ^$ e+ S8 _ - 0 y1 Y! K, d1 b4 R; b9 n
- ; Whether to allow HTTP file uploads.; {6 L% a. }' p% d5 K5 Z" V& @
- ; http://php.net/file-uploads
7 ^* s4 G# a! ?6 o: t: w# `+ f2 Q - file_uploads = On- k/ V7 x' z! P5 ^# H) ~
- % B3 @% z7 w* A
- ; Temporary directory for HTTP uploaded files (will use system default if not* M2 r; A3 y: ]
- ; specified)." E% z4 c# E6 ^( C. |2 ?% u
- ; http://php.net/upload-tmp-dir! W' o% |/ k& v# ] R6 \
- ;upload_tmp_dir =
5 W7 k8 d" A: R; {: m' q2 l) j
" S2 ]2 ?1 U# {- ; Maximum allowed size for uploaded files.- @! H, j/ ~4 X& d
- ; http://php.net/upload-max-filesize
* z* p* x( e3 \1 x. r5 B - upload_max_filesize = 50M
+ d$ |1 b7 E% q2 _ - 2 [; G. P7 \6 e p+ g9 {/ I
- ; Maximum number of files that can be uploaded via a single request
{- `" ]& H8 J5 |! n$ h - max_file_uploads = 20
9 v3 r6 d3 T C+ | - : R( i2 M" W4 U" T/ f4 O+ U
- ;;;;;;;;;;;;;;;;;;5 z3 }+ k1 J% |- A/ H5 l
- ; Fopen wrappers ;
! r, W5 s A, ]( N3 g6 |2 f - ;;;;;;;;;;;;;;;;;;' a6 i7 B& [( n0 r0 \
- 8 w. V5 o& I0 z
- ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.8 U2 m# W7 l- G! C
- ; http://php.net/allow-url-fopen
! T: o' k2 C9 W' n7 K2 Y6 U) f+ ? - allow_url_fopen = On
1 e: |% X! S* X8 Q+ }& g
9 o8 w1 [/ H3 v4 a3 @; K2 y- ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.1 N& U$ g+ n, Y" }- a ?/ B
- ; http://php.net/allow-url-include
. H2 N7 G" ]* {! h# z - allow_url_include = Off, v/ _4 Q& `3 q4 @! S$ S2 d
- ) Q" R& u$ |! e: s+ w! B, [
- ; Define the anonymous ftp password (your email address). PHP's default setting
7 a7 t3 k0 P9 s8 w& q5 [: E - ; for this is empty.
; K) V0 k$ {* w2 @# y3 N - ; http://php.net/from; C& T% `9 ]( m1 v5 c, b
- ;from="john@doe.com"
( a; e4 K% @! {! Y2 R1 G. M - * z$ }) W- m$ S) U
- ; Define the User-Agent string. PHP's default setting for this is empty.
1 {, P4 V6 x. `* }5 e+ @ - ; http://php.net/user-agent
) S! u: h0 U6 o! M$ D" O! Q - ;user_agent="PHP"
4 E. P( D3 ~$ u* ]3 X2 j - 8 j) x+ h! q( s5 u! X
- ; Default timeout for socket based streams (seconds)
2 F! E! {) ^1 F! [ - ; http://php.net/default-socket-timeout
; E2 ^5 M* u5 ~7 w4 n - default_socket_timeout = 605 Y$ Y" e' @( g+ N- l( @
- " a3 S/ [+ R; T; U- a. U
- ; If your scripts have to deal with files from Macintosh systems,
) @3 \9 P p5 x - ; or you are running on a Mac and need to deal with files from
$ ^/ d5 ]' }2 r) b9 D9 ] - ; unix or win32 systems, setting this flag will cause PHP to
: d7 F4 X, R; u9 s - ; automatically detect the EOL character in those files so that1 a# }4 y _9 ~! p
- ; fgets() and file() will work regardless of the source of the file.' w* a* Q D8 ]* ^; @8 W
- ; http://php.net/auto-detect-line-endings$ o8 g5 S# }6 A2 R4 B# I) Z
- ;auto_detect_line_endings = Off
6 g; e* ~# Z- O/ y& H8 p, t
2 E& A. u a9 d- V- ;;;;;;;;;;;;;;;;;;;;;;
; k B9 x) C, N# ]5 Q4 T - ; Dynamic Extensions ;
* j) H2 j) C/ d) J: I - ;;;;;;;;;;;;;;;;;;;;;;6 m$ C: m7 c, L2 W+ l8 V
- 4 z; R: Y7 o; [9 [
- ; If you wish to have an extension loaded automatically, use the following" S& a0 q/ c- | Z
- ; syntax:
; G5 P% }. j9 M% P - ;
! ~: u! F. G2 ]1 p* z8 G/ O9 w2 \/ z - ; extension=modulename.extension. ]& \1 v# e2 p
- ;
! [7 w% ?# m% w( v - ; For example, on Windows:& x& t5 M8 p" s3 _
- ;
+ G% Z7 A# }0 ?6 V$ Q; z3 J - ; extension=msql.dll
* s& ?4 j6 s, ~# F. C - ;( m+ M* v6 Z2 O. R8 q
- ; ... or under UNIX:
& M+ B, p Y0 i) ]) F - ;
6 I2 z2 s4 _2 u3 o2 y' Q% U Y4 D+ h - ; extension=msql.so
( ^- ?% m- ^5 f5 Q3 F - ;
1 X T6 E" Z( h/ e" L) `0 E7 W8 t - ; ... or with a path:
# L. x& Z$ q1 v - ;
, M% A& J$ {) F0 p8 o! I A9 ?5 l - ; extension=/path/to/extension/msql.so
" @* v4 V8 c R! t - ;
/ O9 s# p' H9 j+ _; D/ W9 Z& O - ; If you only provide the name of the extension, PHP will look for it in its
6 F: Z2 _% M. [0 h8 r - ; default extension directory.9 j R# x) @+ D! b$ e* }
- ;
9 ?+ b! i+ [, h. u) ]) I9 o d l. o - ; Windows Extensions
9 |7 x4 l* e: c3 c/ @5 s, P - ; Note that ODBC support is built in, so no dll is needed for it.4 H" y- Y5 }; {: {3 l& E
- ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)5 v* b% W, T* B X
- ; extension folders as well as the separate PECL DLL download (PHP 5+).
" ^- q! o$ L. @" m) n+ v$ c' V - ; Be sure to appropriately set the extension_dir directive.
; h: Q' N" S+ M( B$ W+ Q - ;
/ g* O4 z" o7 q, C& G: z - ;extension=php_bz2.dll0 g: W7 s7 `7 ^$ Z0 [# y
- ;extension=php_curl.dll/ M9 K; a- l4 `! [' n I3 w; q' `
- ;extension=php_fileinfo.dll
% u" x6 P8 w9 m. _% k7 T - ;extension=php_ftp.dll h5 _9 t. ? N) m( X* i
- ;extension=php_gd2.dll
" E) g6 O7 }& O$ _) i - ;extension=php_gettext.dll
0 c% d i4 M( M% n$ i - ;extension=php_gmp.dll, ?; l( t8 F5 g' c
- ;extension=php_intl.dll
1 A1 o6 e7 o1 T2 q( ?4 v; K - ;extension=php_imap.dll
0 f3 H7 Z( o: e - ;extension=php_interbase.dll0 T9 j% P5 S4 A: E
- ;extension=php_ldap.dll$ k7 ~1 I) T, J% `' e
- ;extension=php_mbstring.dll
, X% V% z+ X: ~& U5 K8 b - ;extension=php_exif.dll ; Must be after mbstring as it depends on it- H: [+ L0 o$ x$ }. y- p& W
- ;extension=php_mysqli.dll2 [6 ]; ]7 a: j: d. P; p9 J
- ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client! h% i+ }' |! n9 J0 i0 F% D) e
- ;extension=php_openssl.dll3 x7 p; w8 N# q$ O" A8 i, ?
- ;extension=php_pdo_firebird.dll
! d7 G' }4 ^( f! o& W0 Y - ;extension=php_pdo_mysql.dll
4 s! z+ d6 e6 @/ k9 J - ;extension=php_pdo_oci.dll
4 c$ @. F9 h1 D% @% r3 K - ;extension=php_pdo_odbc.dll
8 c& `( u7 E7 [4 e+ d% I% u; F - ;extension=php_pdo_pgsql.dll
5 Z, R5 g6 G0 w/ g% W$ y0 j - ;extension=php_pdo_sqlite.dll
( U! x* k9 K, S8 o8 d5 t - ;extension=php_pgsql.dll
5 e- ]. s' @0 V+ `0 o; d- b - ;extension=php_shmop.dll
- i! Y* \. L C9 G* v1 p4 n - # b0 h o. i. s6 J' O9 Y: d# i9 m
- ; The MIBS data available in the PHP distribution must be installed.! N Z K- ^* k/ G' A6 Z2 s
- ; See http://www.php.net/manual/en/snmp.installation.php
0 S ~" i3 y6 ?- b6 _, d - ;extension=php_snmp.dll
, a! ?& }% _% Q3 L - : b+ C; {1 w$ j( y& \$ R
- ;extension=php_soap.dll( W6 z+ w) M: u' ^9 X
- ;extension=php_sockets.dll8 ?$ I4 ^( m" w
- ;extension=php_sqlite3.dll
: }+ {$ j) A. t6 o# ` - ;extension=php_tidy.dll4 w. i& ~3 h8 w2 I) K9 k `' V* D. P
- ;extension=php_xmlrpc.dll0 Y$ w. |. \5 w( M$ F& @5 D
- ;extension=php_xsl.dll
2 J- L C, ~1 g5 [
3 K, e7 i1 k) a2 ]" H% P% W- ;;;;;;;;;;;;;;;;;;;1 c* v3 a! O5 O! S0 B
- ; Module Settings ;! b! y$ K$ B. j% ^) {
- ;;;;;;;;;;;;;;;;;;;$ E4 s' C* X6 D& J
+ C% c' T5 i) L- [CLI Server]
1 j3 O f/ g0 M9 w! }5 u- U - ; Whether the CLI web server uses ANSI color coding in its terminal output.1 N5 p, x- x u5 U% g# `4 [* W
- cli_server.color = On6 S% m5 v. w$ G! I! e
! I* V/ _6 \4 r( y* \$ |- [Date]& n5 H, U* e( Z* O$ E* [6 u
- ; Defines the default timezone used by the date functions: M( E R: M3 o+ D6 V( Y
- ; http://php.net/date.timezone; G/ y$ `5 A: z" I
- date.timezone = PRC
: _5 [; N6 Z! `4 c, ~ - 5 f# `/ K# J; W: L' v. C
- ; http://php.net/date.default-latitude2 h @; N3 l& N! [! |6 ~1 ]% \. _
- ;date.default_latitude = 31.76672 X4 ~) [0 f. a; p4 H& J
, D' i$ Q7 Z6 R- ; http://php.net/date.default-longitude- ~5 I: Z+ M& e9 z
- ;date.default_longitude = 35.23332 S0 ^' J4 ?) c; [; \' L+ |
- ) m' D; W8 M$ } n! E. m3 W
- ; http://php.net/date.sunrise-zenith! |6 M7 A7 J5 C9 D3 g
- ;date.sunrise_zenith = 90.583333
7 K( e- x' s: M x
& L% l9 U8 U7 Z/ V. f \ ~- ; http://php.net/date.sunset-zenith- ~" ~; N; m [
- ;date.sunset_zenith = 90.583333- m* W7 E' T# r6 M5 \% t0 }
- / `+ i: J4 n" z5 ?# i/ {
- [filter]# g0 h; M2 k6 m# m/ d4 N. i
- ; http://php.net/filter.default4 {, Z% ~, x: q/ Q2 _* n& g
- ;filter.default = unsafe_raw9 t m* P8 K) F
8 V! T b3 b: }$ G. v1 |- ; http://php.net/filter.default-flags$ P4 j. K9 Z5 h8 a; u$ B
- ;filter.default_flags =
+ f! n% J/ z0 t. N" C% D
, Y; M2 q- Y- ~$ x* L6 z# B- [iconv]
& E# p$ h: Q! v. S. H. i1 Q - ; Use of this INI entry is deprecated, use global input_encoding instead.
3 M+ q- h8 @0 V$ y3 n( H - ; If empty, default_charset or input_encoding or iconv.input_encoding is used., i) d0 h& u8 c+ ^: ]
- ; The precedence is: default_charset < intput_encoding < iconv.input_encoding% ?& K( ~9 |" [
- ;iconv.input_encoding =+ v& Q; n7 T6 J. V3 L, s
- . p$ B" F; V: H4 S' n! U
- ; Use of this INI entry is deprecated, use global internal_encoding instead.4 `4 G: k" Q. n5 X
- ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
" g# D; Y2 F: `8 M; S9 f, @ - ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding* |. H) o3 X' E% e$ t- J) G7 }
- ;iconv.internal_encoding =4 C. M% a! Q% ]4 H
- & P* T8 Q% u. e5 g3 W9 z
- ; Use of this INI entry is deprecated, use global output_encoding instead.9 K, [% W# V5 j* A& j7 ]( v
- ; If empty, default_charset or output_encoding or iconv.output_encoding is used.
6 E3 R0 A: s; H4 U- _# M+ s& u - ; The precedence is: default_charset < output_encoding < iconv.output_encoding
& y% e. ]' A" A7 p! h' S - ; To use an output encoding conversion, iconv's output handler must be set9 E5 |4 V3 d5 ]! b
- ; otherwise output encoding conversion cannot be performed.# a! k3 S# r: I2 ^. |- i
- ;iconv.output_encoding =9 x1 E/ d p0 X% T4 R
& K, i* b) c F- [intl]
" V3 i- m2 d( X- P/ o2 H - ;intl.default_locale =; j! |! ^. U. l6 G+ |: c. f
- ; This directive allows you to produce PHP errors when some error
/ R0 r: N! G9 p% \ - ; happens within intl functions. The value is the level of the error produced.- c+ z* C- A) ~6 E0 D
- ; Default is 0, which does not produce any errors." R" q) U2 M0 d1 u: \
- ;intl.error_level = E_WARNING
" `6 v1 j/ g. g. Y+ d% e - ;intl.use_exceptions = 0* i4 j5 r/ [3 f5 V9 v0 T$ Y
- . Q3 ]5 C; o# f
- [sqlite3]
$ i2 ^- |4 o' V3 I9 p - ;sqlite3.extension_dir =
* q( c \; {, o8 I- S - ( r" B; p8 j5 ?, n- V/ ~" S
- [Pcre]
- o, X0 F% X: V: l2 O - ;PCRE library backtracking limit.5 t: E. Y8 Y2 y0 _( [7 g" X8 w
- ; http://php.net/pcre.backtrack-limit3 q2 I8 i9 j- k) }) a; S8 p% [
- ;pcre.backtrack_limit=100000
" K' Z ~& U% ^$ }: K
4 K7 o" M8 u; b. Z- ;PCRE library recursion limit./ t) K6 A5 s* p& ]
- ;Please note that if you set this value to a high number you may consume all) g8 w6 l5 R4 G
- ;the available process stack and eventually crash PHP (due to reaching the
1 d: p" E t2 i! i6 I( D - ;stack size limit imposed by the Operating System).
6 _4 | B% w, s% G6 N - ; http://php.net/pcre.recursion-limit( W q. O3 i1 a: N
- ;pcre.recursion_limit=100000! x4 h! T* J9 g+ f' ~9 a3 H
! g3 B9 B% B* [- ;Enables or disables JIT compilation of patterns. This requires the PCRE
, a, e7 k; N- ~6 r - ;library to be compiled with JIT support.
3 }8 N6 x" n: f% n E/ s: J - ;pcre.jit=1
, Z/ F) C$ R0 {% _, x7 E - ) I5 B# W" c4 ^3 ^( r8 |- v0 m7 `
- [Pdo]
9 X6 j# S+ L5 y6 r - ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"5 I9 m" t1 Q: [& l& P5 A# ?) O
- ; http://php.net/pdo-odbc.connection-pooling0 {8 I% p5 r+ S5 ?5 T4 j* h5 v2 L) W3 b
- ;pdo_odbc.connection_pooling=strict
# \. U! `1 \4 r
7 ]* r7 @) B3 Y$ j- ;pdo_odbc.db2_instance_name* `2 j- ?* o1 R3 r4 U6 ]
- 5 y: ]3 G. A& Y2 m* }& c, |
- [Pdo_mysql]3 x# J, X9 U) H6 f0 p% P4 p! y
- ; If mysqlnd is used: Number of cache slots for the internal result set cache
7 j9 B" b4 R* `9 m" ^+ h8 N - ; http://php.net/pdo_mysql.cache_size
+ {/ l3 l% V$ f7 R) b9 l - pdo_mysql.cache_size = 2000+ o5 V8 y& j1 r7 B# w2 h5 A
- # M& p3 B, D8 S. S4 t) M
- ; Default socket name for local MySQL connects. If empty, uses the built-in
% ^' R3 b7 y4 Z8 @ - ; MySQL defaults.
+ O7 D3 T$ W6 P: c9 g ~' D, I! o7 ~/ y - ; http://php.net/pdo_mysql.default-socket
. Z4 Z/ L; L* B6 r% Q+ H6 @7 ^ - pdo_mysql.default_socket=* H" t, N- L" N! y
- 3 K5 p, ]; ^0 l$ H( G
- [Phar]) C% f Y! ~* @9 Y' G5 F Z
- ; http://php.net/phar.readonly( k+ S( p+ l& j3 H I: ?, e
- ;phar.readonly = On7 e% H% t0 x& ?' s ~
. e3 d3 k1 W5 E; P+ u2 g# S ?( ?/ Q, z- ; http://php.net/phar.require-hash
4 A1 K' g; _( t ~, c$ X- E1 V - ;phar.require_hash = On
7 s' t+ i+ h1 }% R4 T$ K - - R# ?: Q) E% H
- ;phar.cache_list =" a$ C% v3 N. `/ A9 F+ }
; E4 u" K$ L# t/ m! Y6 p- [mail function]* a3 y3 A/ }, @8 D$ k+ C7 o( R
- ; For Win32 only.5 r& D. O0 {& S1 ]( {
- ; http://php.net/smtp+ u" I+ X v; `, m
- SMTP = localhost* \* M b4 x: V Y: ^
- ; http://php.net/smtp-port5 W/ c6 ]0 _) l5 |) @2 S R% ]
- smtp_port = 25! ?1 {( P4 O; ]0 J+ i7 |5 D0 ~
) b# L+ _( h0 j @ z3 _- ; For Win32 only.! O4 \" t) Y* E, u
- ; http://php.net/sendmail-from
! n4 o/ C: p0 H6 w. H! T - ;sendmail_from = me@example.com
( u9 C# K7 u6 c; S+ F2 o8 x/ K* W
3 W3 D% G, j- P- ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").5 R9 l: I4 R- \8 q6 e) Y: i9 B0 I
- ; http://php.net/sendmail-path( `: n9 \4 j! R8 Q( L* l; q
- sendmail_path = /usr/sbin/sendmail -t -i, Y4 Z, A$ C) P) f, k7 V m
- " a3 x- h! h& s
- ; Force the addition of the specified parameters to be passed as extra parameters
) R% X; c9 v" Y8 B - ; to the sendmail binary. These parameters will always replace the value of' |& A% [% |6 T5 |9 u
- ; the 5th parameter to mail().( O6 c: W% k0 [, r l
- ;mail.force_extra_parameters =
; O0 ]. U- ?4 [) w - & c; k7 u/ I, d
- ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
9 a( u x( z+ D, r, j+ P% | - mail.add_x_header = On
7 M9 y8 c9 W9 ^! U
& _$ b0 Z: z" l- ; The path to a log file that will log all mail() calls. Log entries include( W2 E9 E: T$ A1 e6 N
- ; the full path of the script, line number, To address and headers.
1 R7 n: Q9 F u0 g5 P) p - ;mail.log =9 ?7 i9 o2 D3 ]% G; v1 Q4 I6 r
- ; Log mail to syslog (Event Log on Windows).
B" L {0 I4 R& l( v1 S( j7 K3 r* V - ;mail.log = syslog
" v( M1 ]4 m7 [' U
/ K& U* b3 ]( K. j- [SQL]
- l7 q8 e) R( s0 D - ; http://php.net/sql.safe-mode- z. T; I2 B2 c* V2 x- Z
- sql.safe_mode = Off
- j' `& a( c H1 O! L, n - R( N7 ^8 E2 o
- [ODBC]
1 T7 r6 a3 [! n1 G/ A0 Q$ | - ; http://php.net/odbc.default-db) d; w# U; R; g
- ;odbc.default_db = Not yet implemented
- Q) B) u" G t* U B2 O* H
Q6 C! f9 U2 E2 \; D7 _5 |- ; http://php.net/odbc.default-user
- v/ i1 }) @7 b0 K5 t" w% e - ;odbc.default_user = Not yet implemented
3 A; o$ _1 U9 p: a: \# [. O
; z. W6 ^5 d( \5 `6 A5 m- ; http://php.net/odbc.default-pw
: f4 O$ Z1 l; X - ;odbc.default_pw = Not yet implemented
: |9 V0 L$ a3 n' m
! x; k5 e% j4 W- ; Controls the ODBC cursor model.
* A& X7 P5 M6 C6 |& S# C" y' x2 L - ; Default: SQL_CURSOR_STATIC (default).
+ H1 y9 f3 u. H& W' k* F0 A - ;odbc.default_cursortype. J6 h3 m: L: o0 K
1 s% v- Y( d; R: u; c2 a9 ?" U- ; Allow or prevent persistent links.% v! Y' ^( g. D5 g$ Y6 F8 }
- ; http://php.net/odbc.allow-persistent: q, X h& f' M8 L
- odbc.allow_persistent = On* W7 C! a5 V, E Q. V
- 0 r! ?, _; V' i0 W. P, w, d) B
- ; Check that a connection is still valid before reuse.
( {; w. l% K, L* b6 ~9 i5 J - ; http://php.net/odbc.check-persistent" C6 m* N: |, y i# i7 B* r/ w
- odbc.check_persistent = On
! I9 G6 i4 q+ i) @: e+ ? - ; t; u' f6 b- [* Z
- ; Maximum number of persistent links. -1 means no limit./ u& b2 v4 X* f* o
- ; http://php.net/odbc.max-persistent
2 O* y! D+ Y; y8 ~8 B% D$ ^! J - odbc.max_persistent = -1+ J& Q4 g% m N6 c8 O
- , }9 h$ `' r2 I& N
- ; Maximum number of links (persistent + non-persistent). -1 means no limit.4 ]2 T9 ]0 N, `1 F3 V
- ; http://php.net/odbc.max-links+ ~" r! {! O+ g- t$ N/ H& c$ {
- odbc.max_links = -1( ~( W) i" a( t
2 `- I4 Z3 q' }2 @- ; Handling of LONG fields. Returns number of bytes to variables. 0 means
5 ~- J0 C" w7 _1 [: i. K - ; passthru.
" S4 S9 J8 y) M, k - ; http://php.net/odbc.defaultlrl
7 F; L( d8 b/ T; L' ]& v; s - odbc.defaultlrl = 40964 g0 R% |0 g$ q! ~
- & Z! ~) e7 Z* q. [: ~* i/ l
- ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.7 ^9 w$ q$ j0 l5 _' f( o
- ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
. o+ }& N/ D7 k6 }7 S* T2 E4 C( T0 F - ; of odbc.defaultlrl and odbc.defaultbinmode6 ~$ t- G3 n5 Q( a/ t# d
- ; http://php.net/odbc.defaultbinmode' k/ |+ e8 D9 p( M9 v: g6 G
- odbc.defaultbinmode = 1
5 P2 W2 `2 U5 ] - . T6 M D: `8 }1 R* o1 _
- ;birdstep.max_links = -1% @: z& s8 _9 D- V7 f3 b& \
- " d; V8 Y1 y( B; s
- [Interbase]& d% \) F6 n' Z: X* i( j1 W1 B
- ; Allow or prevent persistent links.
' w/ f" X# B" D w - ibase.allow_persistent = 1
2 k5 M, X. I- W F6 ~4 O
( N" _8 U) [) j$ S- ; Maximum number of persistent links. -1 means no limit.9 x U- G @* |' F8 ?5 L2 S" N
- ibase.max_persistent = -1
; e [. V( h) y) [ - ( W) ?8 z+ B. V0 h& r
- ; Maximum number of links (persistent + non-persistent). -1 means no limit.! s$ f' C- P f- x- f* M: Y
- ibase.max_links = -1& n2 j. X) t* ^7 E' M/ U* g5 Q% a
- * V4 X6 g3 F+ G8 X
- ; Default database name for ibase_connect().( q2 i" e8 X- r: y1 }" W5 C
- ;ibase.default_db =
# e. X; e4 c3 L; q - 7 ^ S9 M" _9 H6 M2 V
- ; Default username for ibase_connect().
) T1 u$ M: q: e( V6 V, l - ;ibase.default_user =1 R( H% M1 @( Q% m
9 I6 B( b$ ~5 R s& E- ; Default password for ibase_connect().
; w& ^4 e$ ^: l - ;ibase.default_password =
+ R$ a0 w. ~' m6 @% @& j7 t$ O
1 W+ r5 h: Q0 |0 U- ; Default charset for ibase_connect().1 e' ?1 Q; j) o, ]. D1 D1 @' w2 i
- ;ibase.default_charset =
4 h9 \, s5 G' X( i1 ~ - 8 J3 v5 q4 @' u# ^. n2 `3 r
- ; Default timestamp format.; b& p9 O# T; B! j" _
- ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
) y. c! T% f" N, p$ s
5 b4 o- G, i) U# M& V8 Y- ; Default date format.
4 v4 h1 ^! z: G# Q7 q4 T - ibase.dateformat = "%Y-%m-%d"' N. W. A9 ^& u+ u8 E$ H. [3 k
8 x# v a/ o8 ~& j$ F( {1 h- ; Default time format.( }0 u" M" M% r$ R' K: A, D9 J2 @2 F8 r
- ibase.timeformat = "%H:%M:%S"
7 |8 Z! q5 c4 I% N: y1 ` - ( S/ u; k* _6 |$ T* S
- [MySQLi]& `" L9 Z0 f5 w: W! A& i I! S
- + W1 l7 }/ Q$ r( U
- ; Maximum number of persistent links. -1 means no limit.
4 H# s3 I2 P) i - ; http://php.net/mysqli.max-persistent! }/ w8 G7 b- l% D
- mysqli.max_persistent = -1
4 e% D7 j# ~3 b" D7 s \
4 |1 C4 e# T4 Y4 {8 L/ ~7 H- ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements7 B/ S0 Z+ F ?% k }3 B/ [$ V
- ; http://php.net/mysqli.allow_local_infile C* h4 l1 B( a& s* f
- ;mysqli.allow_local_infile = On# v5 R* w1 ?# c* L; d
I+ ?' T! o: Z0 @/ E- ; Allow or prevent persistent links.
: H/ |! h! `7 S: y - ; http://php.net/mysqli.allow-persistent
, @6 y0 ?/ ^6 T3 \, ~# Y E; t - mysqli.allow_persistent = On* Y; w( @2 o2 f8 }/ V6 b; ?
- ' P6 O+ b2 _: _4 g s8 L3 K' b
- ; Maximum number of links. -1 means no limit.7 z" a& @% M' h$ n
- ; http://php.net/mysqli.max-links
. R% d2 I; C5 Z" ]/ h - mysqli.max_links = -1
* D1 A( ^7 u5 G- r7 G" r
7 }1 {! t# G4 X+ }# x- ; If mysqlnd is used: Number of cache slots for the internal result set cache
& l0 u1 s( V# t4 T4 ` - ; http://php.net/mysqli.cache_size
% X4 k+ C$ k. D/ _0 u% j0 ` - mysqli.cache_size = 20007 O7 o8 J2 q5 Y5 W$ P/ ^2 D+ T
/ c% c% H O6 M+ U- y: Q- ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use; X- S7 n* H! ?8 D, q
- ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the' ]0 ~! b* D# }/ i0 v- ~
- ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look7 v" @ G1 U y }( H
- ; at MYSQL_PORT.
6 o z( I5 q1 N6 ^: N - ; http://php.net/mysqli.default-port+ V$ x8 E: R `
- mysqli.default_port = 3306
. W2 B" {6 J8 _6 j+ q" m6 R
2 u( s, D5 H) F) y! C N- ; Default socket name for local MySQL connects. If empty, uses the built-in
3 `0 g$ h/ _* y* j3 N6 ~ - ; MySQL defaults.* Q6 T$ N# k2 G( w& G
- ; http://php.net/mysqli.default-socket9 Q" X) D$ q/ _" i7 [; Z! ?
- mysqli.default_socket =8 h( A. j7 ^( W
- " R( q9 s Z; \- J( j5 p
- ; Default host for mysql_connect() (doesn't apply in safe mode).- U0 Q. |2 Z5 c W3 }* a
- ; http://php.net/mysqli.default-host7 f, r: V7 n, e$ J
- mysqli.default_host =- T2 I$ L$ a, c: n+ K, v& |: ^# C, ]; e
- : ~5 Q5 r, M& M) p) s
- ; Default user for mysql_connect() (doesn't apply in safe mode).
0 F9 c- w! }% ^ t - ; http://php.net/mysqli.default-user
& Y* Q% v& x/ d: V% |9 C - mysqli.default_user =
; Q4 Q& }8 ?+ v( r- D. y - * @9 p! q. Q" d3 n( k+ q
- ; Default password for mysqli_connect() (doesn't apply in safe mode).2 u# f+ Q2 r" U# B" F
- ; Note that this is generally a *bad* idea to store passwords in this file.
5 a9 w; S* w0 \" n' O - ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")- ?' e* U a7 E4 D& W
- ; and reveal this password! And of course, any users with read access to this: y% G# w6 y1 {8 f& Z6 w
- ; file will be able to reveal the password as well.% B3 v" Y8 F0 d ~4 L3 `% J) O
- ; http://php.net/mysqli.default-pw, Z. X2 R# g& D$ E
- mysqli.default_pw =9 l6 J7 j4 }. v+ G. @& v- Z3 y
- : H4 W6 E5 w1 _
- ; Allow or prevent reconnect( `1 z3 C1 x: r0 p$ w* ?' V1 @* y
- mysqli.reconnect = Off
2 V' H5 \$ Y$ C2 A
; t- O: \6 |( a, @- [mysqlnd]
6 a) _- n7 _5 Y& D# I/ G5 [. Z - ; Enable / Disable collection of general statistics by mysqlnd which can be* q. T/ r6 w, N7 W
- ; used to tune and monitor MySQL operations.
# k& N$ n- ?1 g - ; http://php.net/mysqlnd.collect_statistics) ~4 u" X; B# E/ s t. Z
- mysqlnd.collect_statistics = On
' j5 k) N5 Y3 S - 0 V8 d8 P* C% N5 i- n
- ; Enable / Disable collection of memory usage statistics by mysqlnd which can be
r9 N1 h" L, }* m, r - ; used to tune and monitor MySQL operations.
( \) r& e: `( O, w: a - ; http://php.net/mysqlnd.collect_memory_statistics, L9 o% D. V5 H% [" p. _: f
- mysqlnd.collect_memory_statistics = Off, V) L* ^' o' O% J: j: ]6 e
. \- E* N8 M# R8 k& z, V- ; Records communication from all extensions using mysqlnd to the specified log4 b4 G8 n1 e' P$ ]4 {
- ; file.
5 y9 V K1 r- D' K$ I/ ? - ; http://php.net/mysqlnd.debug1 v& n! p5 q/ x9 x, k2 O
- ;mysqlnd.debug =1 K0 N4 x% \: f' n: e$ v
, O# ?0 \3 F* V+ H' }- ; Defines which queries will be logged.# c( K9 ]. }% e1 L/ F8 }- ]
- ; http://php.net/mysqlnd.log_mask
) p2 G& M$ `9 p - ;mysqlnd.log_mask = 0& x: I0 D2 Z% }2 f/ Y) T. }
- . N$ y$ |+ B7 d/ b: _
- ; Default size of the mysqlnd memory pool, which is used by result sets.
- U3 _0 ] B. t; D9 b/ ^ R - ; http://php.net/mysqlnd.mempool_default_size6 p5 Y' _: H0 F$ I; T
- ;mysqlnd.mempool_default_size = 16000/ g6 H N R, ]; I L, ?
- 7 V# }/ u- w/ k
- ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
7 f' z. y$ n* O3 n* l - ; http://php.net/mysqlnd.net_cmd_buffer_size; d- \- W" M, T _. X- W
- ;mysqlnd.net_cmd_buffer_size = 2048" L, g2 `. s0 U' n
- - |# Z9 k' u0 W2 Z4 O, ~- p7 [
- ; Size of a pre-allocated buffer used for reading data sent by the server in; ~5 \/ e7 i" C2 E# K1 W1 Q
- ; bytes.+ Y5 ^. m9 ~! j5 w& s
- ; http://php.net/mysqlnd.net_read_buffer_size
- P% b( {+ \; ]1 | - ;mysqlnd.net_read_buffer_size = 32768
( Z: g+ o7 M3 T/ \ - 1 i( L) [ N; J0 p0 p- H- U
- ; Timeout for network requests in seconds.
% Y! D, V1 }9 m1 d4 K - ; http://php.net/mysqlnd.net_read_timeout
! y1 _5 i/ e, V+ D1 q K' V! Y7 ^ - ;mysqlnd.net_read_timeout = 31536000
" f6 n6 i7 n5 G
1 o) W9 L$ y* e% [+ m- N e- ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
; f- F3 f/ p1 H+ ]6 ]5 h - ; key.
; _) ~5 l0 D# F1 c - ; http://php.net/mysqlnd.sha256_server_public_key
1 `6 U' R4 @0 \5 ~ - ;mysqlnd.sha256_server_public_key =
2 K! \ S M) r4 z8 q2 P; s
0 C5 g1 ` h- d3 Z8 l% R0 C& h3 v- [OCI8]
$ Q! J+ b; c% F! a# ]2 ~
" ~- |' x+ |, H- }% k7 [1 L. h$ A- ; Connection: Enables privileged connections using external
% }+ |% n9 H# L& e5 K+ T6 e - ; credentials (OCI_SYSOPER, OCI_SYSDBA)
3 ~+ q# \# u$ S$ ^& S; x" t - ; http://php.net/oci8.privileged-connect
. M/ [# b. p2 Y: ]" M0 b - ;oci8.privileged_connect = Off
6 t5 ?) x# s+ d3 o. ?: B
+ j6 M( R- V0 Q0 B5 N- ; Connection: The maximum number of persistent OCI8 connections per
# N) W9 [- c( @' ? - ; process. Using -1 means no limit.
( H; V G: w% ?# @. `3 Y - ; http://php.net/oci8.max-persistent! p% a5 |9 R8 l
- ;oci8.max_persistent = -1% [9 U7 a% N) W" c
# W/ @+ \; y0 l. ~7 G- ; Connection: The maximum number of seconds a process is allowed to
5 Z, d$ W# Q% i2 v, I - ; maintain an idle persistent connection. Using -1 means idle# F- Z2 l, q$ S
- ; persistent connections will be maintained forever.
" N w. b1 n9 Z' d; p/ w - ; http://php.net/oci8.persistent-timeout
% @9 G9 @6 B0 _8 w: ~. f2 m1 }( ^ - ;oci8.persistent_timeout = -1
" R, {( C2 w2 W3 u" V
2 |& S: s# ]. o) ?0 Q" }( s2 T- ; Connection: The number of seconds that must pass before issuing a6 L' t, W m, C' A. @& M s( |8 h
- ; ping during oci_pconnect() to check the connection validity. When
" D- f$ U0 E/ E0 F2 W' _* w4 O0 P% p - ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables! X7 m! N) S- \* M+ o# I
- ; pings completely.5 [4 v2 M& V T" v
- ; http://php.net/oci8.ping-interval
$ v5 G* [# }0 B' Y$ B+ m, ~ - ;oci8.ping_interval = 60
2 t) B4 a/ }8 x& B# P7 N - ' f$ t- A4 r3 j' _
- ; Connection: Set this to a user chosen connection class to be used- |4 ^4 ~+ h* H( }
- ; for all pooled server requests with Oracle 11g Database Resident
8 v- p: Q4 l+ k9 i" h% A* T - ; Connection Pooling (DRCP). To use DRCP, this value should be set to& j$ E3 f; W5 J1 r6 Z# R
- ; the same string for all web servers running the same application,/ v( s' n0 C" N9 L
- ; the database pool must be configured, and the connection string must
4 M: f3 C- \/ O+ f) J2 e - ; specify to use a pooled server.
6 [$ A5 w3 K+ ` - ;oci8.connection_class =" q$ a Q; m) |+ K; Q
9 {8 p/ b" v& i5 q/ L5 r# y5 F- ; High Availability: Using On lets PHP receive Fast Application' Q# m( B9 m: P" J, C
- ; Notification (FAN) events generated when a database node fails. The) M% Z* |1 f' N5 l* ^
- ; database must also be configured to post FAN events.
$ O; z6 Q8 _2 F3 R3 X% H; U - ;oci8.events = Off& O7 h9 K% m2 k5 N- n* Y
% D, G; J* ~/ y a, o. S- ; Tuning: This option enables statement caching, and specifies how2 |) b" D6 B0 Q+ ~
- ; many statements to cache. Using 0 disables statement caching.
% R$ w) Z. p# I6 j - ; http://php.net/oci8.statement-cache-size
6 Z8 _( v5 R7 k8 n$ f - ;oci8.statement_cache_size = 20
" R$ }6 c; l W$ N, i+ h7 l
0 Z/ c h% Z% p9 z- ; Tuning: Enables statement prefetching and sets the default number of, _ R& ?5 Y. ^5 j
- ; rows that will be fetched automatically after statement execution. u$ w: Z' L$ ~9 r; Y. _+ B$ G% Q# @
- ; http://php.net/oci8.default-prefetch, }& {+ X; l, u* z' X
- ;oci8.default_prefetch = 100
2 i% S; V8 g* x( s+ P
1 D3 E# ~; c" S) p- ; Compatibility. Using On means oci_close() will not close
6 i$ T% {' t3 g! V1 [9 } - ; oci_connect() and oci_new_connect() connections.
0 p0 _( k# z1 N E; W - ; http://php.net/oci8.old-oci-close-semantics" g7 d6 _% d* ]6 C! W
- ;oci8.old_oci_close_semantics = Off
% F9 `8 H' V6 C3 l4 }' i9 I
! N* j! O0 @1 O& ?/ Z, ]* o1 |- [PostgreSQL], E! I6 Z1 s. `$ X6 m1 e
- ; Allow or prevent persistent links.3 F8 i8 B/ _0 S' g" P' @; b% J
- ; http://php.net/pgsql.allow-persistent
" d( ?5 | y. v3 c( T/ _ - pgsql.allow_persistent = On
( A7 D" Q5 ~1 e% u$ Y2 a0 r4 {2 H
% G$ z" S2 [; `; W; O/ G7 ]; p3 F- ; Detect broken persistent links always with pg_pconnect().2 C7 d* `0 C* x. s& K9 u$ g1 c
- ; Auto reset feature requires a little overheads.2 ^, {* l& H2 G6 ]/ ?7 n; s
- ; http://php.net/pgsql.auto-reset-persistent& p$ u* d7 b4 ]* j( r
- pgsql.auto_reset_persistent = Off
, U7 j1 u' O8 B9 `9 [ - , W$ P2 g# G2 V( ~- s! k, O, _
- ; Maximum number of persistent links. -1 means no limit.
% o' Z T4 ~; Q. O( j1 w! A8 P( ? \ - ; http://php.net/pgsql.max-persistent1 @2 l& |' j2 b3 G8 @7 D. k% U
- pgsql.max_persistent = -1
7 Q# R& ?$ B" o, m" y$ c8 D
5 {' k; |" m: s2 L1 J6 z- ; Maximum number of links (persistent+non persistent). -1 means no limit.
+ Q3 A0 `. _, ?3 v+ ~/ U/ |! M7 O - ; http://php.net/pgsql.max-links% T. Y# s6 U/ l) \
- pgsql.max_links = -1+ |2 d. L$ D" w6 S' G
- ) f1 s; V* g0 A# x, n* a
- ; Ignore PostgreSQL backends Notice message or not.7 r6 C" B% x1 c( T9 u
- ; Notice message logging require a little overheads.6 r3 O% w, V1 X( d1 E& F' q
- ; http://php.net/pgsql.ignore-notice3 Q% U1 J& t( P( H! u b9 C
- pgsql.ignore_notice = 0) p; m7 i) Z2 w5 [) |1 L
: K' F& v8 Q: K. v- ; Log PostgreSQL backends Notice message or not.' _. C6 `$ P3 x: x
- ; Unless pgsql.ignore_notice=0, module cannot log notice message.
0 B8 j2 O. s0 b: ]1 O - ; http://php.net/pgsql.log-notice/ t$ \. Q: X. T. i
- pgsql.log_notice = 0
* G( t9 ~9 j$ P# [/ S - 7 ^& F, G7 p) s5 Q7 u! J/ C
- [bcmath]
+ R7 ?' A! X0 a - ; Number of decimal digits for all bcmath functions.: e/ \' A% f" E" D+ Y H
- ; http://php.net/bcmath.scale1 j' D) w8 q: S* {, D1 P
- bcmath.scale = 0, d+ h! K; F4 X5 f
- 2 H o& {- R2 y0 U. Q
- [browscap]2 J! Q$ `3 M( b6 L0 G: ?
- ; http://php.net/browscap6 W' o) q" I4 V3 t; u. f
- ;browscap = extra/browscap.ini
4 U3 X! a9 z/ v* A% L: I - . C/ ]5 E9 b: z0 R+ H6 e
- [Session]: z+ y% t; X! l( O
- ; Handler used to store/retrieve data.
( {! q! C! c5 n( [$ p' w; m - ; http://php.net/session.save-handler6 z9 b: ^4 z& u/ Z5 z
- session.save_handler = files
2 \2 L. r: V& D* s- [! a. ^9 O
- U/ d( r P- S- ; Argument passed to save_handler. In the case of files, this is the path
, u& D% C) {+ b$ c c" u5 y0 G - ; where data files are stored. Note: Windows users have to change this
, G% B5 q0 v- v. r2 B& L - ; variable in order to use PHP's session functions.% U- ?' g$ y+ t; A. C! V/ v# m+ ^& [) V
- ;5 u' C, E: A& [ v
- ; The path can be defined as:+ W6 O! \- e. w' K6 o5 P6 |
- ;4 X- i) J; Z8 m# }8 b) u: a; N
- ; session.save_path = "N;/path"
9 V2 A7 ]( q" Y: U. l% `! A8 Q# V - ;
8 H( X# T* m: K: l6 P" H; B1 z - ; where N is an integer. Instead of storing all the session files in* n/ H; |8 n- x( B
- ; /path, what this will do is use subdirectories N-levels deep, and
* r1 s6 K, m* m4 f) J7 Y - ; store the session data in those directories. This is useful if
$ f$ j2 S6 p. c4 l - ; your OS has problems with many files in one directory, and is
. f9 l) _: g, I - ; a more efficient layout for servers that handle many sessions.; B/ |1 w2 g- `
- ;% {0 {: c1 K8 _ S! D+ U
- ; NOTE 1: PHP will not create this directory structure automatically.
0 u( ?* r, c3 r3 Z1 `& B- w - ; You can use the script in the ext/session dir for that purpose.
5 J) G& }& S, o3 U+ ]4 I: k - ; NOTE 2: See the section on garbage collection below if you choose to
8 y0 i s7 _. A - ; use subdirectories for session storage. t( T3 c' o2 }0 u2 |
- ;; n. ~! Q/ i M4 d/ J& v, {
- ; The file storage module creates files using mode 600 by default.
4 b6 Y& [6 B B3 ? - ; You can change that by using9 V* E- M' ~) E% @
- ;
* q# j9 Z" q& [% z6 H. ~ - ; session.save_path = "N;MODE;/path"
- B: G& p; A( Y. J) `, e - ;! x4 k N( W8 G2 z0 C8 u
- ; where MODE is the octal representation of the mode. Note that this
$ u A+ V" ^( G' r2 \% g$ j - ; does not overwrite the process's umask.0 ?9 r/ a, g% t' N
- ; http://php.net/session.save-path2 k9 Y J6 z% q$ ~1 `( ?; s. `: J. r" r1 K4 M
- ;session.save_path = "/tmp"
) q5 [- H; [& w8 k - : ]! a8 s8 \1 A( }8 k2 h! u. F e
- ; Whether to use strict session mode.
" K! T+ A9 J! W5 m8 ^7 g - ; Strict session mode does not accept uninitialized session ID and regenerate! \1 [+ G! v6 x" n, q
- ; session ID if browser sends uninitialized session ID. Strict mode protects: D/ q2 E: `8 z1 ^* _: O: x% G
- ; applications from session fixation via session adoption vulnerability. It is
! f3 M2 I! v2 l: P - ; disabled by default for maximum compatibility, but enabling it is encouraged.
; q8 n1 _+ R" F( C, c" z* M' s$ M$ t - ; https://wiki.php.net/rfc/strict_sessions- g$ R( R; M. d
- session.use_strict_mode = 0
2 L, M, U# R' Y! }7 I
/ j, [2 t, p4 u! ?: z- ; Whether to use cookies.
+ u5 T+ \0 b0 K! V; Y8 v - ; http://php.net/session.use-cookies, Q8 M( N. M, J. V
- session.use_cookies = 1: z: ^! ^: G! t t t
- & c. z9 ^4 n8 J) K: f
- ; http://php.net/session.cookie-secure- ^* a# I/ ~! i! l; j4 w0 G
- ;session.cookie_secure =
7 Q- s9 Z6 x! W* z0 T - ; P6 m O& o, H+ K: r7 y) x
- ; This option forces PHP to fetch and use a cookie for storing and maintaining+ o- m+ E8 j! j" L+ M
- ; the session id. We encourage this operation as it's very helpful in combating# t) Q4 B; |8 W* J! I* g! X. e6 S
- ; session hijacking when not specifying and managing your own session id. It is/ ~& R) t0 S+ b' e; w# U4 c
- ; not the be-all and end-all of session hijacking defense, but it's a good start.
; i! T% m, `3 ?5 j$ G' P; m3 Z - ; http://php.net/session.use-only-cookies
, g3 O0 n0 a2 h: Q1 h - session.use_only_cookies = 15 i& D8 z! X0 d6 S
/ p4 p) c0 ?' @' I' F% O/ ]$ O. L- ; Name of the session (used as cookie name)./ w f c; b/ F7 ~. C# {( A
- ; http://php.net/session.name
% `8 M% s. ?3 l2 K: s6 |/ ]+ Z! \ - session.name = PHPSESSID
* D5 f1 c! P; {# O
4 X6 P d! N1 R3 Y* a7 w- ; Initialize session on request startup.
( Y$ L6 ]! m2 U6 }# B - ; http://php.net/session.auto-start
2 h- c" i& t9 ^4 [1 ^- Y+ q" h - session.auto_start = 0 M# ?6 o+ W- l% w
- 4 F3 }6 F! Y3 i/ u2 x
- ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
9 ^% @& }! @7 X% f5 _5 g - ; http://php.net/session.cookie-lifetime
9 U8 _6 u3 Z5 x+ R7 Y - session.cookie_lifetime = 0
0 X, G" t3 Y4 _1 y: w p3 Y - ' r/ O! h/ l0 G; o
- ; The path for which the cookie is valid.
: @+ u+ j: s% |4 C/ m7 w" l - ; http://php.net/session.cookie-path
7 W5 t2 C' G6 b, v1 W - session.cookie_path = /7 V i0 `- M8 g) q
- ; b' s- R, x' C" n5 J
- ; The domain for which the cookie is valid.
0 [( Q6 h2 f; S+ ~ - ; http://php.net/session.cookie-domain
2 e. i R5 y% c$ l# O& K6 e - session.cookie_domain =1 r% i* o8 B, Y; `( y6 o2 s9 @/ H/ G
6 C3 E7 T3 Y( { B, ^9 J- ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.0 W2 p4 K2 P0 T! `; G5 e
- ; http://php.net/session.cookie-httponly
$ o5 a2 K4 I: p% M8 ~: {2 w" s - session.cookie_httponly =4 b" ~8 d' I& }/ Y# v. ]
- + a6 g) D& C" N1 i( n! [, _# z
- ; Handler used to serialize data. php is the standard serializer of PHP.
" e; _0 A/ n6 e9 ~% T - ; http://php.net/session.serialize-handler
- j: e; T# v9 z, N/ L0 v' N - session.serialize_handler = php
. H. w5 j7 r/ r! A- P0 W5 t - ! s; f; k w, F4 d+ N2 I
- ; Defines the probability that the 'garbage collection' process is started
6 e+ g( m- m. |0 l) \7 B - ; on every session initialization. The probability is calculated by using
: K) I/ T4 B9 D7 T3 B0 W - ; gc_probability/gc_divisor. Where session.gc_probability is the numerator
4 k' Y" A+ R* P$ e' e - ; and gc_divisor is the denominator in the equation. Setting this value to 1
$ A) z% l4 w* d$ z - ; when the session.gc_divisor value is 100 will give you approximately a 1% chance+ t% n+ g, t% B: }/ y6 S6 W
- ; the gc will run on any give request.7 `- j" q' ^: I2 r4 r
- ; Default Value: 1
5 z+ J5 M* E$ N- A+ z, y1 ~2 }$ u v - ; Development Value: 16 M% c2 I" }8 X9 p
- ; Production Value: 1$ v9 ]: z* s- ]: }$ Y$ z
- ; http://php.net/session.gc-probability5 Q4 ~/ w2 y! n+ R8 _) O
- session.gc_probability = 1* `! F3 Z% C: F
- - f- g. w5 W* X, i6 ^" V1 }) f
- ; Defines the probability that the 'garbage collection' process is started on every
9 N' B- ~8 {* E0 F - ; session initialization. The probability is calculated by using the following equation:
7 O2 n h! {1 i, f) q - ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and' x, w0 b" X R1 J) B1 w
- ; session.gc_divisor is the denominator in the equation. Setting this value to 1
' D* C w* M2 M4 l/ q- m# n6 v - ; when the session.gc_divisor value is 100 will give you approximately a 1% chance+ x4 i, p- {' f9 g( {8 A8 e
- ; the gc will run on any give request. Increasing this value to 1000 will give you
; L) b2 ^. W$ D" B9 m - ; a 0.1% chance the gc will run on any give request. For high volume production servers,
1 d5 L: t! P6 `( Y: ^5 E - ; this is a more efficient approach.
7 J5 |4 J1 p" ]- {' k) { - ; Default Value: 100+ S' h/ L- q6 j" c" D& X& D
- ; Development Value: 1000
# @/ b5 D6 \* l" | - ; Production Value: 1000
3 S( N, M c# [. ?* Y1 ~ - ; http://php.net/session.gc-divisor
+ q& L- }7 s d" ^# F/ b' N - session.gc_divisor = 10008 ]2 M" k* O' u
2 |5 x! k" B2 @5 I9 x8 E- ; After this number of seconds, stored data will be seen as 'garbage' and( ?4 |# |* R! U3 y8 U7 y9 ?
- ; cleaned up by the garbage collection process.
/ R% j& U0 D5 q1 ]! N& M" v% t/ ?" w - ; http://php.net/session.gc-maxlifetime
6 w9 H+ l; p0 }: \/ I, w - session.gc_maxlifetime = 1440
5 ?& A9 s% `6 h; S( H
5 G4 F G5 I8 r0 P1 H2 K0 Z5 R- ; NOTE: If you are using the subdirectory option for storing session files
3 w y7 I0 L% ]( J9 W - ; (see session.save_path above), then garbage collection does *not*' i1 v$ N0 ?. h* w# ~
- ; happen automatically. You will need to do your own garbage) E2 c" x) C' k; d8 Z+ }; | ?
- ; collection through a shell script, cron entry, or some other method.; `5 A# ~+ q' m; F% H
- ; For example, the following script would is the equivalent of; P- u0 c6 ~6 z* \2 B) ^
- ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
% s" f) R+ W+ L; \" n - ; find /path/to/sessions -cmin +24 -type f | xargs rm
3 d5 Q' W6 Y! l - ! i3 U9 `, Q3 s7 n8 h2 Z
- ; Check HTTP Referer to invalidate externally stored URLs containing ids.% [4 M0 l t2 @% a5 I5 K
- ; HTTP_REFERER has to contain this substring for the session to be
- g8 {7 p6 z2 p6 q- o& x+ I7 C - ; considered as valid.
; r" L; N0 s( Z6 z1 X! v5 s - ; http://php.net/session.referer-check
6 F( l# s- v6 ?' V3 Z - session.referer_check =7 J1 X7 y8 s- k) o
' J0 c: l, G7 [0 O, G& F- ; How many bytes to read from the file.) U: {: i2 L, ^) A! ^, A
- ; http://php.net/session.entropy-length, e! C& C! ?6 ]" Q, b
- ;session.entropy_length = 32$ a1 y+ i+ j9 b; t% ?, s6 F% Z
/ b8 K8 _. [2 z0 k& [0 a, {- ; Specified here to create the session id.
) f* S+ V; i1 ^. Q5 I$ a4 I6 V - ; http://php.net/session.entropy-file1 d# q; _+ W& ]7 C0 I$ z
- ; Defaults to /dev/urandom9 M7 {) p" S6 e9 _ z
- ; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom- E# d5 X0 m& {9 C; o6 f% z- J' F
- ; If neither are found at compile time, the default is no entropy file.) E5 e! b2 R" w! J0 O6 e
- ; On windows, setting the entropy_length setting will activate the2 q a! f( T. ]
- ; Windows random source (using the CryptoAPI)
* W; B, O! \3 O - ;session.entropy_file = /dev/urandom
. K) ^" j5 G* O, D - / j( p) ^0 d% w- ^
- ; Set to {nocache,private,public,} to determine HTTP caching aspects
) d2 T* n4 J5 z# H+ v7 | - ; or leave this empty to avoid sending anti-caching headers., F4 {9 I( a2 M1 H( j
- ; http://php.net/session.cache-limiter
9 d1 n1 C2 _3 f2 X u8 d - session.cache_limiter = nocache- H0 X% f! G9 i4 c" v [
' k3 k1 W* R8 g- ; Document expires after n minutes.
6 g# v- X0 ]' G& h+ o - ; http://php.net/session.cache-expire
7 ~2 z' S7 V3 c. L9 m$ h - session.cache_expire = 1802 ~+ e7 O+ O* r9 V8 L5 ?/ t6 P
- ( U, \; }+ s6 R) i
- ; trans sid support is disabled by default.
2 n9 I4 H9 O2 }( c - ; Use of trans sid may risk your users' security.
y/ b+ F; ~# u8 m. ^" Z. _ - ; Use this option with caution.
. p+ h' x: V: l* h$ X - ; - User may send URL contains active session ID
) M# ^, @- s8 i5 a9 O9 l8 Z% _ - ; to other person via. email/irc/etc.
7 B' S/ z5 i+ ~; v - ; - URL that contains active session ID may be stored; b3 B. p5 z) G( F- X9 K
- ; in publicly accessible computer.
" t [, U3 T2 f8 g& P - ; - User may access your site with the same session ID
7 g. s0 j; a' r0 X/ r- r - ; always using URL stored in browser's history or bookmarks.
6 H8 ~3 L& i/ {' I - ; http://php.net/session.use-trans-sid
# l6 ?$ Y/ o7 i" A( X/ I4 G - session.use_trans_sid = 0
- o9 L: C' x2 j6 f; v" D9 L y
8 n1 |4 h' N% O% q1 i o- ; Select a hash function for use in generating session ids.$ y, L0 v1 _- }& f- e+ `
- ; Possible Values9 c8 m: {8 C# d1 o/ E2 P& j$ J
- ; 0 (MD5 128 bits)$ M$ z( L& e) G
- ; 1 (SHA-1 160 bits)- m0 T; b# A8 x0 x$ T
- ; This option may also be set to the name of any hash function supported by
' F/ O/ U0 c, Z* B0 {8 e! H - ; the hash extension. A list of available hashes is returned by the hash_algos()& \* \* E8 X$ M* M4 h9 w
- ; function.
( g; ^! _7 O7 ^7 D x7 M - ; http://php.net/session.hash-function0 J* |' f3 u5 `3 o
- session.hash_function = 0
6 M2 ] e' M* q, C/ A - 9 p+ r. e- u8 o. ?
- ; Define how many bits are stored in each character when converting
" w3 ^ J# I- U7 n6 Y! ?5 {# i - ; the binary hash data to something readable.
% }. c) \6 i0 F" _: r$ C - ; Possible values:) w+ J8 C. ~1 h' E: d7 Y
- ; 4 (4 bits: 0-9, a-f)# z; i1 R! @' x. D
- ; 5 (5 bits: 0-9, a-v)
" O0 `- C3 [ S* a2 h - ; 6 (6 bits: 0-9, a-z, A-Z, "-", ",")1 n8 A1 L9 ? E4 `$ K- j
- ; Default Value: 4% Q% V: f4 g6 k( e8 A
- ; Development Value: 5% n, c3 k1 L6 [5 Z! C1 x+ l
- ; Production Value: 5
R% A/ u0 E7 B+ \- ^" | S - ; http://php.net/session.hash-bits-per-character2 ]' c% n, w7 t+ i8 ?
- session.hash_bits_per_character = 5% j( ` I h( Z4 h
M1 q& I& b& k" {' x* ?, S% W; f- ; The URL rewriter will look for URLs in a defined set of HTML tags., x5 ^% t. {: I
- ; form/fieldset are special; if you include them here, the rewriter will
, h( I+ ~2 I; y* r' w. X - ; add a hidden <input> field with the info which is otherwise appended
* o/ i) v& G" P- X; R; a* N1 }7 f% G - ; to URLs. If you want XHTML conformity, remove the form entry.
2 ?; n1 g# f3 U. B - ; Note that all valid entries require a "=", even if no value follows.+ N/ L0 A: C& t" F! A! v
- ; Default Value: "a=href,area=href,frame=src,form=,fieldset="+ h: n3 X$ Q# L0 g0 P" X
- ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"# O1 I( G$ ]3 j3 e
- ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
1 f, ]1 S2 f" L0 m5 \) X$ n n4 d - ; http://php.net/url-rewriter.tags
4 f6 x+ H+ L4 F0 J, j3 l* k - url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"6 }6 a5 I( a2 w! w/ Y- l
- # d0 t; @4 C* r; Z
- ; Enable upload progress tracking in $_SESSION
/ c) `1 J z4 Y8 S! v( O. @- g - ; Default Value: On
0 L) _- A6 i' b3 p% R1 u A8 j - ; Development Value: On3 z) ^, R. i8 d, J0 w) _- K
- ; Production Value: On
# {0 R( J8 w% S - ; http://php.net/session.upload-progress.enabled2 ^$ @5 B, c. Y; E, G g
- ;session.upload_progress.enabled = On
' m7 w! K+ [8 R! {$ x R- @ - ; f( Y7 @5 e# S) T+ z1 u! X
- ; Cleanup the progress information as soon as all POST data has been read/ Z: p8 W9 a: f$ d5 ~: ^* K+ G
- ; (i.e. upload completed)." T7 D& [# N" G% C$ j7 J6 M- U
- ; Default Value: On- v3 } x# i! U. M- s; C
- ; Development Value: On, Z9 S1 ?+ m/ l* r$ K
- ; Production Value: On
+ y4 x. R" P' D' _3 I# A - ; http://php.net/session.upload-progress.cleanup' w; a' d: M9 _1 e$ X
- ;session.upload_progress.cleanup = On
9 x+ t1 L$ S: j5 v3 ^ - + \% j, v# O1 W% b
- ; A prefix used for the upload progress key in $_SESSION
) W, Z' t2 Q: ?5 V' z - ; Default Value: "upload_progress_"
, [ a% x. Z& y, ~ - ; Development Value: "upload_progress_"
2 M% `5 F! f4 y' M8 a - ; Production Value: "upload_progress_"5 A# V1 y/ [' l# B- J
- ; http://php.net/session.upload-progress.prefix% e- [5 H' k# t( s9 ]$ p9 [4 r
- ;session.upload_progress.prefix = "upload_progress_"
5 l' b9 s. i; F4 K% d6 h - ( h; j& {9 e& J: j
- ; The index name (concatenated with the prefix) in $_SESSION6 e7 a% v% H K+ i2 ?
- ; containing the upload progress information
, J5 k% f1 m. F' {4 |' M1 O. i - ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS", w% A% ^+ o1 ~) ]9 M( [' h9 B
- ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"# l$ H0 D. Q; U* [2 Y4 G0 G
- ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"5 r1 ^6 h2 O% S# N+ v: }* a
- ; http://php.net/session.upload-progress.name# s3 Y. L0 q. u$ W6 f- J
- ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
$ p- f' |# V) T( s; {5 @" Y
; t" z U4 C, I/ n5 w- ; How frequently the upload progress should be updated.
+ V8 e8 h: Y, R5 V2 R+ { - ; Given either in percentages (per-file), or in bytes
- _( P" W5 d" u1 Q5 k$ W6 v6 z+ J - ; Default Value: "1%"
& {! Q& k3 [5 A - ; Development Value: "1%"
- I/ o$ v' t) m' D1 ~ - ; Production Value: "1%"
0 \1 X5 ~& M8 o! E - ; http://php.net/session.upload-progress.freq6 W s- y: [+ y+ b
- ;session.upload_progress.freq = "1%"2 v/ C1 X9 n9 }- y7 t) e
: ~' I5 n0 ?* Y8 P5 a- ; The minimum delay between updates, in seconds, C: j8 k* F1 k- Y
- ; Default Value: 1
3 t- g+ g P( A3 _ - ; Development Value: 1
5 e- X6 G4 o( _. N; N7 Y - ; Production Value: 1
; m+ V5 m% ?9 c2 w: D9 K0 a+ {- S - ; http://php.net/session.upload-progress.min-freq
$ ~8 v! G, L# K* U - ;session.upload_progress.min_freq = "1"
- z t! D+ F2 a+ F
- u3 W& D- k. W( B- ; Only write session data when session data is changed. Enabled by default.
: c' g* F6 |. K7 ^. m/ i - ; http://php.net/session.lazy-write- _; ?8 p0 q7 p% L& u! V) \
- ;session.lazy_write = On
& N* H0 z- x4 r4 `
/ z2 L" T* @6 o- [Assertion]
" Z, r M9 D( s r% o8 r, F. m - ; Switch whether to compile assertions at all (to have no overhead at run-time)
* d/ U' ?6 w2 H0 T2 T3 b9 r. x! k - ; -1: Do not compile at all4 K/ @. e3 B1 R7 n
- ; 0: Jump over assertion at run-time$ U* Q3 `- P, U- q( \6 ]9 _
- ; 1: Execute assertions) G6 h) C9 P2 i: W+ L. n3 R
- ; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1)
) W5 P$ K/ p L5 A5 ?. m - ; Default Value: 1
* B" L( d& A. r4 |2 z" r - ; Development Value: 1) I1 A9 R! k: X+ K: W
- ; Production Value: -1
3 r# [& [ X( K, {6 B+ Y/ E! b - ; http://php.net/zend.assertions
3 z h& j- R& p6 ?1 N - zend.assertions = -1( [1 I) O4 w `/ J% L; y1 N
' j) @# t4 o9 m1 j- ; Assert(expr); active by default.
/ g4 T0 b# M0 r. L. F3 U$ l6 F0 D - ; http://php.net/assert.active& K% c7 V5 a0 B' \% V+ [! S
- ;assert.active = On2 E1 G' D0 y! D; _+ k: ~9 d& N
- 4 i T5 s+ q! j' w9 _/ Z _# P
- ; Throw an AssertationException on failed assertions5 q3 ]# w: b1 J4 M# {4 G! P; b
- ; http://php.net/assert.exception
6 U! D, O/ W4 b4 ]4 d3 A5 _ - ;assert.exception = On
, `3 w% y6 f& p2 s9 r! B8 p
5 r4 e, J, T: f! g9 g- k# j- ; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active)
2 d! ^6 s. R$ g9 n& }0 Y% s, E2 d - ; http://php.net/assert.warning
4 M/ M0 K8 P8 a& Y* w3 C6 g - ;assert.warning = On
5 Y y/ {6 R8 B2 d8 ^- [ - 3 m# I8 f) ?* G( j8 A2 I
- ; Don't bail out by default.
$ }% R* J" n. z9 J7 s* o - ; http://php.net/assert.bail
6 H0 N$ A9 N. |- p+ ? - ;assert.bail = Off. J5 K; T7 @, y) O3 }' t% Z3 Y$ P
8 N8 z3 \* k0 X( l r- ; User-function to be called if an assertion fails.$ G" m: i0 }5 Q4 O0 k/ F* |# J
- ; http://php.net/assert.callback
- W( N& g4 z% ]; T$ g+ u4 X! } - ;assert.callback = 0
/ [, _7 A% o5 u
/ B) F) E) M4 @& L3 N% C+ g8 P- ; Eval the expression with current error_reporting(). Set to true if you want
) a9 U# \6 N- J7 r - ; error_reporting(0) around the eval().7 g1 Z' O2 q! D, h% J4 I7 G5 N
- ; http://php.net/assert.quiet-eval
, }" X6 V& L- x6 r - ;assert.quiet_eval = 0
; E- I, s$ I6 L( m - 7 `. T8 `3 b9 M3 o: B
- [COM]
) z# v& K Q- T$ E - ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
# T7 T) S9 v- v9 k/ G - ; http://php.net/com.typelib-file8 q# p. q9 k1 c: {7 p9 q! Z
- ;com.typelib_file =
" c! a$ B. M- B
; D" w1 v+ z: M- c, l- ; allow Distributed-COM calls, s# _ b- W: m2 l
- ; http://php.net/com.allow-dcom" j" H% D* ]' ~$ M
- ;com.allow_dcom = true, m( Y6 A; F' S( ?- q
- ! y$ ~0 a1 N/ C- Z
- ; autoregister constants of a components typlib on com_load()' E3 m7 r, y* y. ?2 I6 f
- ; http://php.net/com.autoregister-typelib, |8 N( e1 N- | }0 A7 `5 H+ z$ ?( T
- ;com.autoregister_typelib = true9 o! S! X0 i1 ?- v- I# `" j
- + y; [0 @0 v5 [8 [' [
- ; register constants casesensitive |/ E3 c. \/ R1 I' @. s2 j& w
- ; http://php.net/com.autoregister-casesensitive
& M( w/ S5 X/ w1 y4 \ - ;com.autoregister_casesensitive = false
) n; O" S; H! y+ ?( i& O, \* U - . a0 t! ]) i# j. F
- ; show warnings on duplicate constant registrations: ~" q3 N5 Z( \! J, o/ ]1 F$ Z
- ; http://php.net/com.autoregister-verbose
9 V/ J* d$ ?2 w - ;com.autoregister_verbose = true# r. Q- ^6 Z* Y
- 9 s3 Y2 G) z7 N5 K+ M
- ; The default character set code-page to use when passing strings to and from COM objects.7 I/ N5 x4 o/ J4 p! D: q
- ; Default: system ANSI code page
% ~% h6 A: G0 I. G6 s9 w - ;com.code_page=6 }2 ?7 K. R+ v/ v$ X, u
# p( M" L5 y5 _- ]0 }) k# Z- [mbstring]
; H* n: q7 t, ?( s4 u5 s0 \ - ; language for internal character representation.) V; ~$ `: D8 s7 ~
- ; This affects mb_send_mail() and mbstring.detect_order.! f2 l+ P* |3 m z6 O
- ; http://php.net/mbstring.language6 Q2 U+ D- C) N
- ;mbstring.language = Japanese
9 E, H# w( L e1 g - ) Y- S. `$ F) [1 d8 s' s
- ; Use of this INI entry is deprecated, use global internal_encoding instead.
" H, g0 T6 ~' p7 {, ~ - ; internal/script encoding.. e, `1 U# @9 n, B# k
- ; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)- q8 S6 W' V- @( @3 \/ k
- ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
: \4 L4 R8 P- I# a - ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding6 h" r; L9 G8 g1 c6 U3 y9 F! d
- ;mbstring.internal_encoding = Q: {# u9 Q" s" O/ x' i$ ?
1 \! f0 g- B! o+ a p* I' P o6 R- ; Use of this INI entry is deprecated, use global input_encoding instead.
6 \, B- W3 r. w, m- G. s - ; http input encoding.
% v! Z: a/ H3 [ - ; mbstring.encoding_traslation = On is needed to use this setting.9 u# N3 k9 |8 u! f; ~
- ; If empty, default_charset or input_encoding or mbstring.input is used.& F8 G& J6 z$ v, I
- ; The precedence is: default_charset < intput_encoding < mbsting.http_input( i& ]0 @/ r; ^0 g
- ; http://php.net/mbstring.http-input
( i7 ], |; K; k% l. ~0 t - ;mbstring.http_input =
! U3 T8 O% C' O- b1 O4 G
. ?0 I7 w* U* ^- ; Use of this INI entry is deprecated, use global output_encoding instead.# O, Q' f- E* ]' Z8 U
- ; http output encoding.' J6 E, B: J* @) V0 x
- ; mb_output_handler must be registered as output buffer to function.
* D& m6 m! |$ ^% d8 C - ; If empty, default_charset or output_encoding or mbstring.http_output is used.
0 E3 _7 Z1 y, ]) p+ d - ; The precedence is: default_charset < output_encoding < mbstring.http_output
3 [* s1 H, H, G2 d( d2 ^- ` - ; To use an output encoding conversion, mbstring's output handler must be set N! g# U/ M3 ^4 N3 L9 n
- ; otherwise output encoding conversion cannot be performed.
! D6 `7 f G" v5 R - ; http://php.net/mbstring.http-output. b& {! }, k+ r
- ;mbstring.http_output =
% ]6 R, |) w4 ^ - q! M9 t' G+ e! f( p- I
- ; enable automatic encoding translation according to0 o3 o9 P, }5 |, E# V
- ; mbstring.internal_encoding setting. Input chars are3 x' Q, {) N0 Z+ Z: C* I r
- ; converted to internal encoding by setting this to On.
& g0 y1 t7 w& Z - ; Note: Do _not_ use automatic encoding translation for0 `+ {$ h( N7 W3 y6 F. ?. F7 K4 j; O* |
- ; portable libs/applications.0 y* L4 Q. m, q' n4 H1 p
- ; http://php.net/mbstring.encoding-translation
1 d: `3 p/ N# G0 c9 ` - ;mbstring.encoding_translation = Off! A/ t3 s$ v; C8 p2 h' z) k- U p* E
- . h% r1 t- q( v+ V& @
- ; automatic encoding detection order.
/ Q4 c+ L5 o7 |3 p* c7 Q - ; "auto" detect order is changed according to mbstring.language
# }0 p! x, j' p! t2 X - ; http://php.net/mbstring.detect-order# u# f/ x( q' V+ ~# w9 Q: x
- ;mbstring.detect_order = auto
5 j! o, A( f, C" y, F5 v - . ]: p8 g- O9 [4 ]9 B" q9 a2 ?
- ; substitute_character used when character cannot be converted% j s; a/ ?2 J! G6 t8 a
- ; one from another
! s; w( B0 e; n - ; http://php.net/mbstring.substitute-character% M1 }8 @1 L" x; R$ R
- ;mbstring.substitute_character = none* E& P& E# F+ O$ P
8 T. f+ s# O7 }) {2 _1 `- ; overload(replace) single byte functions by mbstring functions.
6 y. [& A) P7 ^ - ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
0 M: ~# O, `7 E# @ - ; etc. Possible values are 0,1,2,4 or combination of them.
7 N3 u0 W- T& T7 u! W0 i/ S2 K - ; For example, 7 for overload everything.- @0 j* S) K8 z
- ; 0: No overload
" O3 a9 _1 e8 Q6 t) t - ; 1: Overload mail() function
! I# l) V/ n4 f" U( b& N - ; 2: Overload str*() functions6 E6 f6 M/ f, Z
- ; 4: Overload ereg*() functions
) T! N* O( N0 J* x: ?1 A - ; http://php.net/mbstring.func-overload8 b) z% Z3 I9 x9 M+ M5 M' o
- ;mbstring.func_overload = 0
) I/ T# U1 Y4 ]6 P; s
- W2 z/ M) d( O5 {- s- ; enable strict encoding detection.
5 v' ^1 L" g7 [# J/ } [ J6 Q; p - ; Default: Off
- ?7 S% D- e& i, E. L% }6 ^ w - ;mbstring.strict_detection = On+ B* P2 H- M0 O# H
- & C+ E. ?3 R4 L3 t
- ; This directive specifies the regex pattern of content types for which mb_output_handler()
$ z% M& o8 y* k- v* p5 \" F! D - ; is activated.
- y( f; j/ s1 p* }& L - ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)3 N; }, Z0 I; w' e" ?, l
- ;mbstring.http_output_conv_mimetype=. O; G( {; D& C) K0 ?2 Z
K, z& p* F& }% W8 J$ j- [gd]& K; s5 G/ Q: X; W
- ; Tell the jpeg decode to ignore warnings and try to create$ L* b- j% Z, C1 J$ u
- ; a gd image. The warning will then be displayed as notices
% Z4 S; k) o* i2 Z# ~ - ; disabled by default
. s3 k8 X5 h8 F. P9 { - ; http://php.net/gd.jpeg-ignore-warning
/ B: Z$ [# F0 Z& a - ;gd.jpeg_ignore_warning = 0; J5 Q6 u) @3 V" l. @7 a) ]
, E4 i. K' g k, N( K- [exif]7 b- B5 ~, W3 c+ M9 ?
- ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
% [( `: k) a1 n: A - ; With mbstring support this will automatically be converted into the encoding9 O9 |; t: \5 _ h$ X6 S0 L
- ; given by corresponding encode setting. When empty mbstring.internal_encoding
) n6 A" Z7 H% K - ; is used. For the decode settings you can distinguish between motorola and
: @* Q3 j# x# T8 M+ } - ; intel byte order. A decode setting cannot be empty.+ m& j- S9 n; S& {; {. `
- ; http://php.net/exif.encode-unicode
7 F6 g ~; a# W" @$ V8 H - ;exif.encode_unicode = ISO-8859-15
5 T' B3 W/ y5 b' C- q' ~2 `
% E) S+ D v) h7 l7 o4 W, U- ; http://php.net/exif.decode-unicode-motorola
* `* }$ P2 {6 d7 ]5 ` - ;exif.decode_unicode_motorola = UCS-2BE
2 X3 Y8 W8 c% r: Y4 [( J - $ p% E4 [+ l" W
- ; http://php.net/exif.decode-unicode-intel( g8 l0 A& n8 \$ B% v; N. y7 Q5 s
- ;exif.decode_unicode_intel = UCS-2LE
; ^" H* u( ~* ?. M
3 ]4 Y: L! r" o x- ; http://php.net/exif.encode-jis
1 q4 G/ e. f: n5 E - ;exif.encode_jis =
" p1 r3 a; l* i0 O4 L$ q - 5 x* Z3 f' j9 t& B: }
- ; http://php.net/exif.decode-jis-motorola8 D. G) Y! G2 I6 S1 S; p5 W7 \) ]
- ;exif.decode_jis_motorola = JIS
4 }8 N* O7 m3 C3 N" d6 ^, W - ! Z# m8 w/ W: f5 Z3 V( y
- ; http://php.net/exif.decode-jis-intel4 B6 Z! \4 E$ @4 F) y5 \6 f3 Q/ [
- ;exif.decode_jis_intel = JIS
. o, k0 W' n( T
. Y, t! f0 h$ m- [Tidy]! x3 X& n" E% e5 c! k7 F& y
- ; The path to a default tidy configuration file to use when using tidy
( r0 @, {" V) @) O - ; http://php.net/tidy.default-config
7 v. G0 I( ?' @5 P; A - ;tidy.default_config = /usr/local/lib/php/default.tcfg9 S& Y' r$ Z, V6 v$ _
. q7 E, ]# T& A |! D$ d% q2 T- ; Should tidy clean and repair output automatically?
* O( [) {: q2 c1 n - ; WARNING: Do not use this option if you are generating non-html content
- ~1 f8 {1 S* i: b - ; such as dynamic images8 ?3 O5 _5 @+ L% f4 I( r
- ; http://php.net/tidy.clean-output+ W( a/ _5 j; p- l/ y/ E" a( w
- tidy.clean_output = Off
) }. f# C$ b6 T) g
$ {: L$ O; N# K, n+ x5 Y& Z( X- [soap]/ ~8 U2 D7 e/ ]1 n/ |+ C
- ; Enables or disables WSDL caching feature.- U: J+ t- x; s2 |- Y* d n( _
- ; http://php.net/soap.wsdl-cache-enabled
/ u$ M0 }( R# G+ }- ?* W; B# B - soap.wsdl_cache_enabled=1
( {) a" l6 B) G) \ - 4 c& A: |+ r' W% `& ]' v
- ; Sets the directory name where SOAP extension will put cache files.5 q* Z* b! L1 {4 O% x9 v
- ; http://php.net/soap.wsdl-cache-dir
6 Q% p% r- d* Y; [) B4 ?7 H - soap.wsdl_cache_dir="/tmp"
) C- C5 J, k- n( G( P7 y0 @8 B
! i4 L* k) ]8 y- ; (time to live) Sets the number of second while cached file will be used3 K; m e+ \) Z! _- f
- ; instead of original one.
+ f7 P7 }% u& J* Q. l+ y. t - ; http://php.net/soap.wsdl-cache-ttl
% L& B7 l ?9 n. p* f7 ` - soap.wsdl_cache_ttl=86400
4 V. _! k ^( I9 k. h& m) `4 S
- T4 v8 S7 `" d9 q, A- ; Sets the size of the cache limit. (Max. number of WSDL files to cache)
9 g: E% v# R* o7 s- ~ - soap.wsdl_cache_limit = 5
7 S2 k' h1 p$ _2 U+ y4 ] - ' }! [$ k1 e; y0 A6 g; Q
- [sysvshm]
0 }, V+ N; P% F) V5 T1 S - ; A default size of the shared memory segment/ M I8 ?0 Z. L$ A. E4 R
- ;sysvshm.init_mem = 10000: h8 V6 S9 ^ ^8 a, C6 I
- 3 j; Y" p; C$ g$ [
- [ldap]
9 E6 |' s/ Z7 R4 R - ; Sets the maximum number of open links or -1 for unlimited.
3 S! I8 ^. X3 R" L4 ]+ p1 Q - ldap.max_links = -1) \' z$ M9 {4 X; e/ W0 A# y; c
- - y5 f5 v6 w0 l/ Q2 |$ h. |4 _: I( X
- [mcrypt]* i2 ^2 z8 d; g3 C0 O6 t
- ; For more information about mcrypt settings see http://php.net/mcrypt-module-open
5 t ~, w+ B9 |+ z {: {; Z - $ f+ E" i" x$ {! [
- ; Directory where to load mcrypt algorithms
4 O: i' p1 X+ o/ r - ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)6 N. G+ c% ]" @
- ;mcrypt.algorithms_dir=9 S9 v& H) h, w) f4 m. H3 u: D
9 S4 y: ?& B/ N- w- ; Directory where to load mcrypt modes
! @3 r; ~6 ~' Z9 Q. ^, ~+ O - ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
$ M4 l+ w' Q) r% Q - ;mcrypt.modes_dir=
1 F$ Y0 L* m: `
* ^6 g. J( W/ R$ g- [dba]# ^; x9 Q3 W \( e" h! O: V
- ;dba.default_handler=
% ?* ` d7 U4 \, ^; U' P: D& \3 k
; h5 M; B4 T% C3 ?" V8 O0 t* f- [opcache]
: k6 k7 p" b3 H8 z5 s( S - ; Determines if Zend OPCache is enabled0 m8 D/ D# L- Z% |0 N2 d' ~ ?) A6 ?
- ;opcache.enable=0
$ q3 b# T1 G! \( B! V3 e - 8 l! O, y9 i) ?8 A Y
- ; Determines if Zend OPCache is enabled for the CLI version of PHP
1 n7 n: H$ J4 U3 U6 } - ;opcache.enable_cli=0+ c& a7 ~0 e% Q; j
& B% t" x+ X0 a8 E: ], z0 ~ O- ; The OPcache shared memory storage size.
- `6 j [. R8 G- q; J5 e- Q - ;opcache.memory_consumption=64
6 w$ l" o& g2 ~& F4 V3 z+ V* R - 2 i1 I; t* n" v: y# M
- ; The amount of memory for interned strings in Mbytes.
4 k8 H; p; F; |0 m2 B) N5 t3 n - ;opcache.interned_strings_buffer=4
* w. n4 {6 _* v8 Q% J) q* L - 2 }/ K$ E+ X7 e! r1 N( J( U4 m
- ; The maximum number of keys (scripts) in the OPcache hash table.6 v2 V( c- D% G( h
- ; Only numbers between 200 and 1000000 are allowed.+ x1 K5 ~8 ]% Q% Q
- ;opcache.max_accelerated_files=2000
6 P/ o1 ]6 Y* E
- \1 z! g& T7 W% q+ S- ; The maximum percentage of "wasted" memory until a restart is scheduled." b$ |6 ^9 a9 c5 R4 P5 ^9 b
- ;opcache.max_wasted_percentage=51 @6 ?) S8 W, L+ f
{9 H! c4 B5 y; W9 Z# n( G3 ~& c- ; When this directive is enabled, the OPcache appends the current working
; ^: J6 t5 S* D% f, X9 l/ G - ; directory to the script key, thus eliminating possible collisions between
- }; `& ~. z1 g - ; files with the same name (basename). Disabling the directive improves. z/ h& n" H3 r$ k; u
- ; performance, but may break existing applications.- z2 Q5 v% j8 l9 D" j8 P* K
- ;opcache.use_cwd=1
9 P& e) l L/ V1 @( a
% a c j! |/ [1 k& b9 k: d% O- ; When disabled, you must reset the OPcache manually or restart the ~' N2 b( J5 w
- ; webserver for changes to the filesystem to take effect.
. a3 D1 y6 L4 x3 i! _) p- Q9 R& w - ;opcache.validate_timestamps=13 r7 z0 {; [/ N: ~; Q; C- i3 ~
- 4 x: `/ \8 r' z1 ~6 \4 u2 x
- ; How often (in seconds) to check file timestamps for changes to the shared
/ E5 D4 p: h8 v9 M5 F8 q - ; memory storage allocation. ("1" means validate once per second, but only
$ S% A. G" s4 \ - ; once per request. "0" means always validate)7 ]' z/ O: N* k% {0 [7 w# g' a6 |4 ?3 r
- ;opcache.revalidate_freq=21 j- I: N. R. L' Y, W8 O/ x
- 1 V& u9 g' Y& M4 \3 d, B$ ^' e0 O
- ; Enables or disables file search in include_path optimization! O5 u7 p, Z" l# }* W0 G
- ;opcache.revalidate_path=0
% {& J7 C2 Z* F8 g7 S4 b
7 z3 o2 Q% j6 R+ {- ; If disabled, all PHPDoc comments are dropped from the code to reduce the
4 m; ~: s( D1 W! w& r; _- k6 R) l - ; size of the optimized code.3 c9 ?5 q. R9 y7 m3 e
- ;opcache.save_comments=1+ c( w4 q: f# V' L# D* t% O
' I: [, s/ K; V3 F- ; If enabled, a fast shutdown sequence is used for the accelerated code
5 W" t9 F) P& E" [. k5 \. N Z - ; Depending on the used Memory Manager this may cause some incompatibilities.9 z0 |( k- ], n% g2 @0 p, x4 h, A$ h
- ;opcache.fast_shutdown=0' H. W" i2 v4 l
9 b }$ L' Z ` x, d- ; Allow file existence override (file_exists, etc.) performance feature.7 M9 z3 G% Y' X7 l3 S' @
- ;opcache.enable_file_override=0$ S5 z4 f9 M' W: \ R
- 9 u; J; n( ]9 u0 X- B
- ; A bitmask, where each bit enables or disables the appropriate OPcache
1 H* r" A6 @% L* V - ; passes- B a! n& O- O' ]9 u
- ;opcache.optimization_level=0xffffffff" I. C4 M4 G& k, z% x
5 j; @' A5 j7 k# A, h- ;opcache.inherited_hack=1
' |1 k! B, b. R - ;opcache.dups_fix=0
& M. [; X6 b9 m$ F/ ]! p - 6 S% [$ l; p# Q1 M2 Q
- ; The location of the OPcache blacklist file (wildcards allowed).
& J( l! @: F& {- H - ; Each OPcache blacklist file is a text file that holds the names of files+ ]6 Q0 {/ [& ^2 P8 v! s0 |7 A
- ; that should not be accelerated. The file format is to add each filename/ H j. k" e( `; A* o- I* M& Y! z
- ; to a new line. The filename may be a full path or just a file prefix
( i4 J, D+ O4 M5 I - ; (i.e., /var/www/x blacklists all the files and directories in /var/www
7 m( t* u; O4 T' R - ; that start with 'x'). Line starting with a ; are ignored (comments).2 a8 R7 {$ A. N3 F
- ;opcache.blacklist_filename=6 f0 w9 b/ N/ p- ^
- * J6 _1 {+ |- q3 I
- ; Allows exclusion of large files from being cached. By default all files3 {! @+ L# H' C" \0 ~
- ; are cached.
2 G n9 U: ~6 N0 E% |+ ]; k8 B; ]- L - ;opcache.max_file_size=04 q) e" n' Q B8 M
- + `- `/ R4 \; W z0 u
- ; Check the cache checksum each N requests.
4 \" J5 }# h) h% F9 N - ; The default value of "0" means that the checks are disabled.
7 Q4 J# a+ P0 v1 f R# M0 ` - ;opcache.consistency_checks=0
. ?4 I2 S- k e5 S - ! b) I; L v5 T* P# q# k
- ; How long to wait (in seconds) for a scheduled restart to begin if the cache5 r N V% S$ G4 g: X
- ; is not being accessed.
) E) c+ h* F0 ~# z/ B: [ - ;opcache.force_restart_timeout=180
# Y$ D/ c8 b( Z+ A
' F+ ], N- z, q2 @0 T- ; OPcache error_log file name. Empty string assumes "stderr".
G0 X, q. g% X! ? - ;opcache.error_log=% L Q6 G* M1 ~$ D1 F
( N5 V! t8 f; W- ; All OPcache errors go to the Web server log.
% P' O* E- C6 y( \ - ; By default, only fatal errors (level 0) or errors (level 1) are logged.
0 g" i( D0 E3 d7 u& o - ; You can also enable warnings (level 2), info messages (level 3) or
* x7 m* w2 O. I3 i4 L; R - ; debug messages (level 4).
) x+ \$ y5 A1 V* } - ;opcache.log_verbosity_level=1
" a$ `" m- \. v3 @1 x# G- k
& Z& F4 ^6 D1 N& M# V' ^- ; Preferred Shared Memory back-end. Leave empty and let the system decide.' G1 f( P$ z, n8 H9 Q
- ;opcache.preferred_memory_model=/ K# l7 }$ Y$ [: k2 J( ~4 d j
- % Y W0 S6 v9 Q7 P9 k0 U! A; d
- ; Protect the shared memory from unexpected writing during script execution. ~: C4 x' l, J; _& e# R
- ; Useful for internal debugging only.
8 h: x( v q; j6 r$ a4 Y6 ~ - ;opcache.protect_memory=0
, [7 s+ P6 r8 P6 b$ C+ o1 b& M - " [4 r, b: L) G# {$ f1 |# K' z' Y
- ; Allows calling OPcache API functions only from PHP scripts which path is0 u6 @" G5 O8 j- w. n. N, V
- ; started from specified string. The default "" means no restriction
# L" K9 s# |4 L+ }7 ~1 m+ @( m! U - ;opcache.restrict_api=) t7 F" _- V& ^) P
7 e- [( A1 k1 A- Y( u0 W3 h- ; Mapping base of shared memory segments (for Windows only). All the PHP2 w# G% X7 [ @% L% |# Q
- ; processes have to map shared memory into the same address space. This
2 t5 f+ p# ] G1 Y+ q - ; directive allows to manually fix the "Unable to reattach to base address"1 k/ u9 K" X7 d* ^7 c$ w
- ; errors.
^/ @: A, A0 w+ F6 y. s6 L( ]7 E, @7 Y - ;opcache.mmap_base=/ `6 W$ e* L6 d6 {: }
- 2 s) T |1 ^7 p
- ; Enables and sets the second level cache directory.3 J9 a, a; i; x/ F' v7 y
- ; It should improve performance when SHM memory is full, at server restart or1 ~; e6 x- Z+ R3 l4 O( f9 b" h) r6 f
- ; SHM reset. The default "" disables file based caching.
! ]( i+ A6 w ~( { - ;opcache.file_cache=
5 p: h1 J" X. x/ z+ D8 Y" N
1 o, K0 X# s2 C; d' ~9 X/ g- ; Enables or disables opcode caching in shared memory.
7 E% u y; p- ^3 A# U- K x4 ~; h - ;opcache.file_cache_only=0" p, _/ ?# d* S, B P1 W7 X
- T* z- I7 O$ [2 T8 U7 g
- ; Enables or disables checksum validation when script loaded from file cache.
) o! d6 u2 P+ ^. X4 S6 p0 Q - ;opcache.file_cache_consistency_checks=1. m5 _; ^! a2 p( M9 S
# Y4 C1 t$ z( ?2 Y5 [2 c4 B& ?- ; Implies opcache.file_cache_only=1 for a certain process that failed to" _ P( k( i3 R4 a
- ; reattach to the shared memory (for Windows only). Explicitly enabled file
& S: W3 ~' H0 ^, r7 K; i - ; cache is required.
8 K1 F* q$ ]( o0 p% j- {! { - ;opcache.file_cache_fallback=1' E/ I# S V% D) X" T( \6 C+ ?$ w, K
4 A" |( ]+ ~8 C7 C J O( f" W- ; Enables or disables copying of PHP code (text segment) into HUGE PAGES.. B6 F/ F7 V% P: {0 B% w4 Y
- ; This should improve performance, but requires appropriate OS configuration.1 x& Y# v- ?3 I( D* y* ]" p
- ;opcache.huge_code_pages=16 Z1 C# i0 B: h e6 f
1 E: \' K2 {) d" Q- ; Validate cached file permissions.) a! U# O# h' m+ J5 o; K
- ; opcache.validate_permission=0# A& g. s8 I# ?0 M o! @
- ( s& e, c+ ~9 c5 o' d# e5 Y
- ; Prevent name collisions in chroot'ed environment.
" A6 l7 s/ c0 u9 `/ M/ @ - ; opcache.validate_root=0' I4 T. [4 u8 r8 Y- E; a( B. q
6 b$ M) I! j) J2 B0 F) A- [curl]
$ G' `9 }2 U$ |4 e0 ` - ; A default value for the CURLOPT_CAINFO option. This is required to be an( o" A7 q( t- e! ?
- ; absolute path.0 z6 F5 L9 d# k3 `+ Y' p/ |
- curl.cainfo = /etc/pki/tls/certs/ca-bundle.crt# g7 ?6 c# G5 }( U h, Q2 k
' ^) ^- D! k* N7 M& {- [openssl]% n4 o8 o" i8 s4 |
- ; The location of a Certificate Authority (CA) file on the local filesystem7 Z2 ?6 e7 T# p0 c
- ; to use when verifying the identity of SSL/TLS peers. Most users should
7 M9 A3 ^/ O3 p" F - ; not specify a value for this directive as PHP will attempt to use the
; S7 n5 f: @8 \ - ; OS-managed cert stores in its absence. If specified, this value may still
1 ^8 X7 p( B( W; j' f5 q/ V- v - ; be overridden on a per-stream basis via the "cafile" SSL stream context. X; N( X$ Z4 v" u
- ; option.* y" O: ?0 G8 z6 c
- openssl.cafile=/etc/pki/tls/certs/ca-bundle.crt) h8 p1 Y. U5 `3 X4 p, z
, p4 F! `* j6 z- ; If openssl.cafile is not specified or if the CA file is not found, the
, u ~: T) q- G4 | - ; directory pointed to by openssl.capath is searched for a suitable% C Y# O( b* H3 V$ `1 @, Y8 ^! G
- ; certificate. This value must be a correctly hashed certificate directory.
1 Y2 ^" b9 J7 [) V1 C# u3 A - ; Most users should not specify a value for this directive as PHP will
& q, | ]1 {2 G0 j - ; attempt to use the OS-managed cert stores in its absence. If specified,
0 @: x0 E- D1 G. ~' D - ; this value may still be overridden on a per-stream basis via the "capath"5 O$ M) d* ^) M5 J$ B" _
- ; SSL stream context option.3 e: ~7 q# h. {) ^
- ;openssl.capath=
. B! k: }' K4 W1 t7 S: U - ) a& h/ Y; }' x! ]$ A7 i$ h
- ; Local Variables:
z- n5 G9 [. F* u - ; tab-width: 4+ a9 l" U( A+ R( _+ I7 q ^4 [
- ; End:' [; M% g0 p3 q& `. m& {) [
/ c& X+ w$ M) a- ;eaccelerator4 P6 S& M1 b6 P& P
5 z4 D1 h v5 l- ;ionCube4 q' Z2 k6 B. D0 q o% ^3 e
- 9 H; I) u+ C! X9 q
- ;opcache
5 b0 E" n% p* f1 D/ J2 x2 X" i# I - 9 B8 U* h2 l$ v# T0 U* A; d. L
- [Zend ZendGuard Loader]
3 E0 f! [; Y+ [# Q - ;php7 do not support zendguardloader @Sep.2015,after support you can uncomment the following line.
* C0 y H8 U* C6 D$ j# U# Z - ;zend_extension=/usr/local/zend/php70/ZendGuardLoader.so
# q! b, G8 K X3 h - ;zend_loader.enable=1
7 T* Y4 `: k6 X% W: c) }& C - ;zend_loader.disable_licensing=0
/ [! d# y! V2 C) d6 x - ;zend_loader.obfuscation_level_support=3
% |# b& Z: I: R - ;zend_loader.license_path=% x# F5 h8 k4 Y9 R# w7 M: g, x
- ( x, w3 P- x8 ^7 \' G- O t9 g( r/ \
- ;xcache$ s" L% z$ B- ^1 ~+ i
% J. ~% k; B# b# |; U/ j H
复制代码 $ V' W' @, }0 ^0 M
, F$ ? _4 c; e' S+ `
/ Z; G* E: z. P% g* u6 p% d
* d7 k! a/ ]0 B& }* H% Z
) e2 Y# H3 Z' a8 k* }$ i4 ]
* L6 j2 N# o) s) H3 z% X2 X3 Y
$ K# u' A! {: B* NPHP5.6版本原始设置
. M& ^2 G$ d8 q& S8 p$ o" x# y7 Z* R, X) \5 Y
- [PHP]( J0 _, z8 v& K6 l8 z* }
0 V! Z u/ s/ p9 l- ;;;;;;;;;;;;;;;;;;;0 r, i$ |; E9 i
- ; About php.ini ;
) z# H" Z) j% g. F- }& u; Q$ g - ;;;;;;;;;;;;;;;;;;;
- P( D! E( S( N% m2 D( ~! k - ; PHP's initialization file, generally called php.ini, is responsible for
1 @. O, \# l; @0 k- }3 o) O - ; configuring many of the aspects of PHP's behavior.; o+ }1 j5 e0 N% v, ]" }( C8 e- ^+ w: X
9 q) Y: C% u% K0 H2 w) N) }- ; PHP attempts to find and load this configuration from a number of locations.! `$ C7 G. _3 V/ \7 K* W/ M2 J
- ; The following is a summary of its search order:
6 n# ?/ u$ n- I, { - ; 1. SAPI module specific location.
# T/ u; a% @7 R; n; Y2 y - ; 2. The PHPRC environment variable. (As of PHP 5.2.0)' k6 x6 m. w3 |! \% a( g
- ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)4 q8 d0 V: r' {8 d9 \" M" q$ g) j
- ; 4. Current working directory (except CLI)
' B: k. n8 `3 ]6 A, I" j- c - ; 5. The web server's directory (for SAPI modules), or directory of PHP# G7 [' i2 c: ^* ^% g1 c- t2 o9 Z
- ; (otherwise in Windows)
! Z+ D2 [/ t& \2 x - ; 6. The directory from the --with-config-file-path compile time option, or the% h2 a# K# y4 O7 \5 r- D
- ; Windows directory (C:\windows or C:\winnt)
% Z2 E _1 ]" G$ R6 l7 n; S - ; See the PHP docs for more specific information.
" s5 j4 }+ m5 n' e) h- a - ; http://php.net/configuration.file; c1 ?+ y0 \! h3 o D6 w5 b- j+ l
- 2 Z1 a" k0 Z2 X6 `
- ; The syntax of the file is extremely simple. Whitespace and lines, }4 F+ J9 P# b7 O: a9 N
- ; beginning with a semicolon are silently ignored (as you probably guessed).6 I3 W) g9 z1 Z
- ; Section headers (e.g. [Foo]) are also silently ignored, even though( F1 s2 b- \; H( Y* b) Z9 A& ?/ Z
- ; they might mean something in the future.
6 c" b9 L0 [; o( X; L c0 m
- R/ a$ C$ W) f5 Z2 v- ; Directives following the section heading [PATH=/www/mysite] only! R4 {3 I8 j0 h- o. d1 n6 Q D( k
- ; apply to PHP files in the /www/mysite directory. Directives# R/ ]8 } W0 V! L- `
- ; following the section heading [HOST=www.example.com] only apply to
3 t" z( J7 F! M) Q4 i - ; PHP files served from www.example.com. Directives set in these
/ p, o. }8 N b0 q - ; special sections cannot be overridden by user-defined INI files or* U* i5 ~& I2 M& k5 s$ c
- ; at runtime. Currently, [PATH=] and [HOST=] sections only work under$ g, {9 p d; A- z: P
- ; CGI/FastCGI.
- ~: i6 P. ~7 ~0 u- d - ; http://php.net/ini.sections
% \: B, f' M3 g
) B( c; Z& U6 ~+ l- ; Directives are specified using the following syntax:+ h1 s @0 n: b* b
- ; directive = value
- s' m0 I1 t) m; E6 o - ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
. }8 Q/ i9 _7 t8 p) j$ ]% A - ; Directives are variables used to configure PHP or PHP extensions.
9 V& t: V+ V9 ~! F, j - ; There is no name validation. If PHP can't find an expected
; e# x7 D9 j( `4 ?0 B( _; t - ; directive because it is not set or is mistyped, a default value will be used.
# j! x+ t" l- E6 J+ `8 R - 9 t$ \3 `3 F n# ?3 `
- ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one7 Y' k) ~* Z1 Y
- ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression: E1 C: v$ {. F# E5 f
- ; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a! [# Z; p$ ^8 U# M* s
- ; previously set variable or directive (e.g. ${foo})) t5 ~9 ]* J/ t
8 Q" X: p& H& e- r! P. w- ; Expressions in the INI file are limited to bitwise operators and parentheses:
6 y1 d* v- }0 e7 C - ; | bitwise OR% H4 b" L4 z K& k" A: _
- ; ^ bitwise XOR* S7 j8 S8 Z; o" f, a5 @
- ; & bitwise AND5 |8 K/ ?' K. x9 K9 \9 \! s/ M
- ; ~ bitwise NOT5 ?' @# O; B; M; h# z
- ; ! boolean NOT9 [4 G9 A& Q# ?& w, G( e( m
3 ]( s7 Q7 _ | e1 B# z- ; Boolean flags can be turned on using the values 1, On, True or Yes.
0 x2 j, P8 N2 t7 y3 ^ - ; They can be turned off using the values 0, Off, False or No.
0 j, Q" S! {6 u5 b. {& ~, ^4 X9 N
d9 e$ ~+ H) a" C- ; An empty string can be denoted by simply not writing anything after the equal& F1 K H4 ^" ]' v
- ; sign, or by using the None keyword:* D: l; n' H. F! I- z( X
( k- ~ I X& z' X3 N- ; foo = ; sets foo to an empty string
/ l# @8 _4 W' G0 d; p+ ?5 w/ u- |" M - ; foo = None ; sets foo to an empty string! r) W8 q( Y4 c: _7 }
- ; foo = "None" ; sets foo to the string 'None'
- r E p2 v' n$ ]) O# Y3 x- A
7 |$ c+ y* L$ }5 @$ s- ; If you use constants in your value, and these constants belong to a: _: b) b* n6 V# m
- ; dynamically loaded extension (either a PHP extension or a Zend extension),! [7 \5 F! m8 Q9 R+ |
- ; you may only use these constants *after* the line that loads the extension.
2 v, i$ i- n5 e) r$ N& {9 N7 f% [
; G, Z5 b$ H0 w+ N. L2 ]- ;;;;;;;;;;;;;;;;;;;
{+ c" R, Z @& V) O8 d. \ - ; About this file ;/ k# O6 y) v' S
- ;;;;;;;;;;;;;;;;;;;# M% s4 _/ A/ b7 z2 J$ f7 G
- ; PHP comes packaged with two INI files. One that is recommended to be used
: j# i. n5 ^; y3 ?- Z2 F - ; in production environments and one that is recommended to be used in
0 X: E) u1 h; b! a* [' ?% M - ; development environments.( k2 T. h+ r6 g) ^+ l3 o$ ] T
- & B. x9 G/ z, S, w4 U
- ; php.ini-production contains settings which hold security, performance and2 O! N/ ?, A5 v+ s. u+ [- S
- ; best practices at its core. But please be aware, these settings may break1 y! @/ k2 l+ ]0 {& B0 m
- ; compatibility with older or less security conscience applications. We' ]6 d, F3 R" L: `- W- y
- ; recommending using the production ini in production and testing environments.
7 |* D. S. q( ^1 |
8 H$ l: s5 X' K3 ?8 b1 e) ~1 r- ; php.ini-development is very similar to its production variant, except it is/ m2 I- f& f" c2 }4 z ~. f+ i3 u
- ; much more verbose when it comes to errors. We recommend using the* I+ s9 W' |8 g H5 o$ d" V, v9 K
- ; development version only in development environments, as errors shown to
# S% z% H# A& r - ; application users can inadvertently leak otherwise secure information.1 J- P; ^/ N7 n
- ' o3 Q9 ^0 s2 Q8 A. x
- ; This is php.ini-production INI file.0 g5 i$ q; d7 I, W$ A/ m
. z7 ?3 j: l8 q* v- ;;;;;;;;;;;;;;;;;;;
/ }0 r* v: J/ l - ; Quick Reference ;+ h" o1 n) u( }+ l" E7 j
- ;;;;;;;;;;;;;;;;;;;
/ {& f" \* [$ c3 ?6 P3 y - ; The following are all the settings which are different in either the production
7 d% F1 o+ e% w, V - ; or development versions of the INIs with respect to PHP's default behavior.
2 ?8 Y/ c' F4 `1 L8 C5 q( A+ }0 g - ; Please see the actual settings later in the document for more details as to why
+ N0 `7 I8 T9 S& m/ L# S2 I - ; we recommend these changes in PHP's behavior.
8 V- U$ Q8 n9 ^; i9 l5 Q0 H x- k9 A
& F8 U- [# Q; V9 M0 s- ; display_errors4 s7 F. o+ t0 K v, x0 g
- ; Default Value: On8 u- V: I) _. z
- ; Development Value: On- Y6 {& v$ i) W9 q) A% k
- ; Production Value: Off
$ ^" A8 `* l! d1 ]/ `. {0 o- D, a S. I - , x4 N- J$ }) L# p4 a$ S, R& H4 }
- ; display_startup_errors! Y& s% I! E1 v) X( x4 d9 t& D
- ; Default Value: Off
/ ^; d N& k% ?. D X - ; Development Value: On4 I9 O5 ~9 b- p
- ; Production Value: Off
+ D" x$ U2 o2 v |! c
9 ^7 @2 R9 A5 t( t- ; error_reporting
1 M+ j B5 O: s9 M - ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
7 x: s4 |2 W, ?# d3 P" { - ; Development Value: E_ALL
3 k2 z* y- f$ F% C+ G/ f' K) e - ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
' @. h: O3 [2 W( v* T
! l4 ]) z, n. v! y, Q3 V% p* H, l ^- ; html_errors3 q* P" P4 V2 V& Y6 n. E* O
- ; Default Value: On& a) S6 K p- ^* w
- ; Development Value: On
! R& f0 c- F# v6 P M - ; Production value: On$ A! q- D% z5 N$ |& I# \
! b. Y3 h1 m, K+ Y2 ?- ; log_errors6 U; r4 n) [) ~0 H# M4 Z9 n( g
- ; Default Value: Off9 [5 R9 q6 z4 |1 ~. m- |7 M7 z
- ; Development Value: On; Q" ~% e* q$ |4 x6 _
- ; Production Value: On) B6 @' ^2 h& h% v
- " x1 T' I# j0 E$ z0 n; q
- ; max_input_time
; d: j- P& w1 X. T - ; Default Value: -1 (Unlimited)5 p" p B+ S6 r
- ; Development Value: 60 (60 seconds)
3 F: q$ a: ?! r) z - ; Production Value: 60 (60 seconds)
% T7 X0 U& O% C
4 B' A8 l2 N0 N2 I6 p. C- ; output_buffering
+ W+ l5 x3 n5 x! a - ; Default Value: Off
7 L9 V6 I& z; }% w - ; Development Value: 4096
3 \5 o/ v) `5 n! Q% n - ; Production Value: 4096
4 K( R- M$ R; ] ^" m- X! r c
: e3 a+ o1 @* f* U) V- ; register_argc_argv+ }& O$ W% e( v0 v/ \7 x* j. ~# X
- ; Default Value: On
( e$ `: X# i' y3 I0 h; e9 D( I - ; Development Value: Off6 X$ x5 s: L; i# z5 v
- ; Production Value: Off
3 @3 _+ y% k o* c' [# t, e; W
7 c5 m1 S: ?- h! I: d+ ^- ; request_order5 A! r) b7 Y/ @
- ; Default Value: None
' D* I$ Z# N. t3 x9 m/ v$ R - ; Development Value: "GP"
3 J2 H& w/ B. V l! L - ; Production Value: "GP"
0 q1 y* [2 c# a* N
: J+ p6 o" c1 L1 s6 P- ; session.gc_divisor5 I5 E! v: l$ e& N! I) J. }" q
- ; Default Value: 100
7 a7 ~$ L H y+ r0 Q; ]. v - ; Development Value: 1000
2 V! C7 F8 U6 R/ @: u - ; Production Value: 10003 x; v N, {/ {2 N1 z3 l. y! }2 T
- b6 [4 b( y! Z- Y3 C9 e7 d
- ; session.hash_bits_per_character3 t5 `3 a' i1 i) ?# X0 ~7 o% }
- ; Default Value: 4
' c- ?. q" H4 _! P - ; Development Value: 5
/ J! h. b' w3 W E - ; Production Value: 5
; s W5 O3 q- ^$ x4 l
. g" r8 N: y$ a% h! b G# p7 {- ; short_open_tag
& }' i3 A( N0 I8 p( L3 { - ; Default Value: On( v+ g8 @+ c" u# R# \8 D8 n
- ; Development Value: Off
) k' S& r" ?. r6 P2 n1 ] - ; Production Value: Off
2 E! ?! H f$ s! F; ]7 F
" F6 ]* `8 p0 {+ K- ; track_errors) P* Z: q3 I% H* W% e
- ; Default Value: Off
: {) X4 a) b! v, I$ f) I0 ` t - ; Development Value: On$ z% \9 ~9 O4 Z2 @
- ; Production Value: Off; X7 [1 {* S8 L
- : Z# a" w2 |1 [! M6 z
- ; url_rewriter.tags8 }/ t8 G2 k9 X; N
- ; Default Value: "a=href,area=href,frame=src,form=,fieldset="
. z4 [% R. L" f% x! J3 w - ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
$ J$ {$ T8 _# ?6 {- ]' R' j T - ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
1 m2 Y$ z/ Y# q2 w; O e
4 b: f( h: }% y8 O3 z6 J- ; variables_order
8 m( f: Q7 \9 ` J8 ` - ; Default Value: "EGPCS"3 m4 r! T) J1 w) J& y
- ; Development Value: "GPCS"5 e5 q9 g- y' |4 @! w
- ; Production Value: "GPCS" u4 b# W! O, o+ C
6 D1 ^# l5 t, D0 m2 O- ;;;;;;;;;;;;;;;;;;;;
1 j4 O; y% h" m/ V, B/ C- G - ; php.ini Options ;
3 N4 l& r3 R# D - ;;;;;;;;;;;;;;;;;;;;$ X1 R5 L8 e: l1 F5 i
- ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
/ s- x/ s3 M$ W6 N/ Q+ U) O: V7 M - ;user_ini.filename = ".user.ini"
' v3 G) C$ r2 p H
+ ~2 T' C+ M" H- ; To disable this feature set this option to empty value1 M$ L U/ d* C/ F u
- ;user_ini.filename =+ ]" u6 D2 M+ U k
- 9 g" I5 \# A: A& o
- ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)8 s: T+ j4 F7 q1 z- s& F
- ;user_ini.cache_ttl = 300
* ]! d9 @! I5 E1 S' ` - G. X5 l: O4 A5 i% t& N, c& @
- ;;;;;;;;;;;;;;;;;;;;; `0 S$ X! Y- E) m; o: C4 `9 K
- ; Language Options ;
( P% q2 f( J \5 |2 _& b' | - ;;;;;;;;;;;;;;;;;;;;
- C( s, l5 ~6 {5 F" B2 Y4 C3 ~: {& I2 u
, n& t$ I6 @0 |/ D) e; |) x! s- ; Enable the PHP scripting language engine under Apache.
) F5 t2 z, G0 U7 V - ; http://php.net/engine
% R7 J) C/ l& z8 I8 y- g7 _+ E - engine = On4 q; m3 y$ g( Q' o; g
- ' ]- g( e) c+ I7 K' f4 e$ g
- ; This directive determines whether or not PHP will recognize code between
: a1 Y9 D* g- ~. F - ; <? and ?> tags as PHP source which should be processed as such. It is' l0 O! s% w/ w' W0 ]( j& u6 H
- ; generally recommended that <?php and ?> should be used and that this feature
) @& i% U$ t- F9 N - ; should be disabled, as enabling it may result in issues when generating XML f8 D6 X; E) |3 R3 |3 @6 u) |7 s
- ; documents, however this remains supported for backward compatibility reasons.
- x& @2 X3 a1 r! F# t2 U9 g& D$ g" c - ; Note that this directive does not control the <?= shorthand tag, which can be0 m b: e- |/ f! I" e* d$ J/ E- C
- ; used regardless of this directive.
1 r) a2 O* H" D - ; Default Value: On
, N. i2 N6 h# m* } - ; Development Value: Off
8 e8 W: F4 u. }3 U5 {& N0 @ - ; Production Value: Off
5 l+ Y! d/ ]# D6 P9 c - ; http://php.net/short-open-tag
) x5 Z0 h5 g( Z4 G$ K' A - short_open_tag = On: Y0 {! z( v3 a0 M
- * {4 {* M* E% y% L/ \2 D
- ; Allow ASP-style <% %> tags./ |' R% P- w2 I: y1 h( O" z" G' _# ~
- ; http://php.net/asp-tags( i) t- I0 v7 Z( s) q
- asp_tags = Off7 S5 T9 M5 S9 x6 j+ f
# c4 x3 c8 ], c2 n- ; The number of significant digits displayed in floating point numbers.. C( P8 R* @$ s6 m! \8 Y
- ; http://php.net/precision! o6 y ]. b0 E1 b0 ^1 M
- precision = 145 X; i. z7 c8 N1 K% L
- 6 P, r" @; w1 V; P7 l1 ]- X
- ; Output buffering is a mechanism for controlling how much output data
, U/ ^) w4 L) V4 T( c0 R$ z2 p' T - ; (excluding headers and cookies) PHP should keep internally before pushing that+ R+ D% M* w; h
- ; data to the client. If your application's output exceeds this setting, PHP8 ]! ?0 w z9 W. D
- ; will send that data in chunks of roughly the size you specify.
l6 {" R6 j4 @' C1 z; F3 O+ w4 q - ; Turning on this setting and managing its maximum buffer size can yield some( \: K8 w! I' I. {+ j
- ; interesting side-effects depending on your application and web server.
: e& w0 F; z) L. V, k% ^ - ; You may be able to send headers and cookies after you've already sent output
; Q! |5 r# }1 H d0 f - ; through print or echo. You also may see performance benefits if your server is
6 a# g* V4 h6 Q+ o0 }+ P - ; emitting less packets due to buffered output versus PHP streaming the output& k9 L4 D2 P+ L f1 S4 E, ?" M
- ; as it gets it. On production servers, 4096 bytes is a good setting for performance
. u2 m2 n& Q! N! x8 X& O - ; reasons.
3 q( F$ Z$ e6 V - ; Note: Output buffering can also be controlled via Output Buffering Control4 S. l4 Z9 U1 d, {6 k: b/ I/ b7 E( t
- ; functions.( Z( G/ M+ J/ o* J( X
- ; Possible Values:8 D6 f. E+ n1 k1 i' U4 x
- ; On = Enabled and buffer is unlimited. (Use with caution)
( R U" ~, o5 H* n - ; Off = Disabled
; V7 W6 l4 y% Q3 `9 ~+ t - ; Integer = Enables the buffer and sets its maximum size in bytes.
2 A, S; m" O: }" P0 x. ^ - ; Note: This directive is hardcoded to Off for the CLI SAPI
$ I6 {: U! F0 V/ q ~0 N - ; Default Value: Off
/ e8 k! q! L7 Q8 B; {3 Q - ; Development Value: 40964 Z- C) i8 E5 L' Y
- ; Production Value: 40961 n# \5 ^3 P7 e! f
- ; http://php.net/output-buffering; p) d, K& g( q
- output_buffering = 4096; {# E: j6 u. l1 v+ y
- " _9 W/ o d( N% y5 D4 W. J
- ; You can redirect all of the output of your scripts to a function. For2 Z& H1 b }* j- g, a; Y
- ; example, if you set output_handler to "mb_output_handler", character" c; L. S6 p$ R6 h" k
- ; encoding will be transparently converted to the specified encoding.1 C5 `/ @; J! N1 N. P/ T% k$ l: N. H* h
- ; Setting any output handler automatically turns on output buffering.
0 j* Q3 v+ l5 w* B0 w - ; Note: People who wrote portable scripts should not depend on this ini/ r* i& B& ?. q. [3 e
- ; directive. Instead, explicitly set the output handler using ob_start().7 y. h8 ]+ ] q
- ; Using this ini directive may cause problems unless you know what script" _/ Y: }" i6 \2 @
- ; is doing.
: W! @# j$ B; N* g$ P% f/ k3 K9 s% V - ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
; q" G7 A6 E, @ - ; and you cannot use both "ob_gzhandler" and "zlib.output_compression".1 m" z6 q& ?: T( P
- ; Note: output_handler must be empty if this is set 'On' !!!!8 q* \$ P! R- c
- ; Instead you must use zlib.output_handler.
9 A3 D7 s8 M9 L2 y% x4 { - ; http://php.net/output-handler
) o1 }: e8 D8 M! d - ;output_handler =
2 f) J7 F# l u% Y$ U! p - ' `1 M) U' T8 c6 U
- ; Transparent output compression using the zlib library
+ L: A7 d& p3 ~3 V% l7 f - ; Valid values for this option are 'off', 'on', or a specific buffer size- i5 w! K1 C! s# Y Y0 l
- ; to be used for compression (default is 4KB)& M: s5 V7 {' h" b; a/ K$ j
- ; Note: Resulting chunk size may vary due to nature of compression. PHP: G) C/ C( Y# S5 s8 {& Y
- ; outputs chunks that are few hundreds bytes each as a result of' R9 M; y, C6 s9 M c! D6 E, g
- ; compression. If you prefer a larger chunk size for better
5 l. h9 U& u3 x/ A/ z - ; performance, enable output_buffering in addition.
% p* k! i" i/ | - ; Note: You need to use zlib.output_handler instead of the standard
: o4 ?+ R3 ]" ^4 r8 E - ; output_handler, or otherwise the output will be corrupted.& F2 }! p2 ~; Y
- ; http://php.net/zlib.output-compression" k# L: ]# j' p6 `
- zlib.output_compression = Off6 u6 ~+ w5 d" t4 L, p
- A6 i F! l! r2 S' I1 J' r- ; http://php.net/zlib.output-compression-level
2 p$ k- K6 \) N1 C9 S - ;zlib.output_compression_level = -1 }( `6 Z# }" q6 p
- # i8 I6 e* T7 `
- ; You cannot specify additional output handlers if zlib.output_compression
! B) l; o6 |) T5 q- v - ; is activated here. This setting does the same as output_handler but in, z7 z9 W, Z: @" a& h
- ; a different order.6 P7 u f4 z* T9 p/ B: t$ v( V
- ; http://php.net/zlib.output-handler9 B* e1 V/ L+ d( {9 G' d9 I% K
- ;zlib.output_handler =
4 c* q& {7 S. P& J# n1 P6 j - 6 e |& C1 v/ N, x* S
- ; Implicit flush tells PHP to tell the output layer to flush itself
- y5 M! Y0 b! T/ B" z1 K/ A( f( H9 I - ; automatically after every output block. This is equivalent to calling the
0 D3 P. n. {9 N4 B$ ~/ P/ p - ; PHP function flush() after each and every call to print() or echo() and each
: p5 k# W5 G$ T- m. W/ e - ; and every HTML block. Turning this option on has serious performance
! B R+ B5 L2 l+ }6 D8 j6 q - ; implications and is generally recommended for debugging purposes only.9 N' E9 |+ A! F
- ; http://php.net/implicit-flush4 H& u- J. o& A+ e7 W
- ; Note: This directive is hardcoded to On for the CLI SAPI. l' H0 c+ n" d7 q' h: |/ U
- implicit_flush = Off9 y( i$ ?: C) O! d6 C1 F" {* `
- / [1 a+ V4 P; ~3 Z7 [5 y! N
- ; The unserialize callback function will be called (with the undefined class'! `$ Q0 E, B8 ~" x5 O: t7 _! w! F
- ; name as parameter), if the unserializer finds an undefined class
# Z7 w: w* c3 E; {% l - ; which should be instantiated. A warning appears if the specified function is
; R9 u: ?" q- D- z- p- H - ; not defined, or if the function doesn't include/implement the missing class.) @0 e3 K6 c9 O. h& I" l1 y7 f
- ; So only set this entry, if you really want to implement such a
3 Q8 {6 A; Z/ g. \" P - ; callback-function.8 K2 |0 v# K5 ]6 Q% t
- unserialize_callback_func =
& ]( V. w& e: Q: ~( J
, U" ]! ^1 r$ _5 z* ?7 v/ m$ z- ; When floats & doubles are serialized store serialize_precision significant
2 R% {+ }! E- B. X; s0 z% E - ; digits after the floating point. The default value ensures that when floats0 w$ `) |4 b$ Z( I% l- M2 d$ w
- ; are decoded with unserialize, the data will remain the same.4 a% r. B3 O |
- serialize_precision = 17
3 z! ]( Z. n! D+ M% ~
' r" A3 n; n0 e3 A- ; open_basedir, if set, limits all file operations to the defined directory4 [, Q, R. u( |. n7 H
- ; and below. This directive makes most sense if used in a per-directory
: V( B& u$ b5 b3 W - ; or per-virtualhost web server configuration file.& R" \/ R, B% V+ V. b: G/ c
- ; http://php.net/open-basedir) z- v9 {9 ]& i5 S! M* ]* U8 D
- ;open_basedir =( }# c& g- H1 C
: T& @$ G7 M! v% ?+ a+ a$ w$ `- ; This directive allows you to disable certain functions for security reasons.: X8 E& @ E1 w( ~2 u- ]
- ; It receives a comma-delimited list of function names.$ f4 _5 t) K) }9 M6 u# T
- ; http://php.net/disable-functions8 D, w# c, ^- _1 h
- disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru5 k' q, t1 y8 I- L' {) f
" z2 X: f; j: x2 x8 M1 V& {" A e- ; This directive allows you to disable certain classes for security reasons.
* H- w* e1 l' \, H8 z - ; It receives a comma-delimited list of class names.
2 B9 N q9 B4 E8 X Z - ; http://php.net/disable-classes/ V' p4 E6 a0 a- e4 X
- disable_classes =. p5 z, `" K& A) m: \' N: h: W* r
7 ]3 a v5 z S( C% S- ; Colors for Syntax Highlighting mode. Anything that's acceptable in
, [: W# Y2 H! k' r - ; <span style="color: ???????"> would work.
- d" A4 S; V+ Y: e - ; http://php.net/syntax-highlighting8 q6 I4 y7 z7 E# d+ W
- ;highlight.string = #DD0000
( f( {; \. w R( X y# P - ;highlight.comment = #FF9900
: c y ~/ X7 R - ;highlight.keyword = #007700 ?- C2 V( H6 h7 f) A* M6 Y
- ;highlight.default = #0000BB2 e- ?* Q2 Y3 x8 u, X% ^8 z
- ;highlight.html = #000000
6 C3 v% u( q5 e8 X$ W" x
' R6 j" V* Y1 Q, b- ; If enabled, the request will be allowed to complete even if the user aborts
: X* V) R" X D& z - ; the request. Consider enabling it if executing long requests, which may end up
- Z8 d1 \ R$ v - ; being interrupted by the user or a browser timing out. PHP's default behavior
8 P) ]! f0 r/ a$ H, b1 w - ; is to disable this feature.
$ K* I( o1 v- g7 \! a1 A - ; http://php.net/ignore-user-abort6 t- z3 v6 D! b% [7 j
- ;ignore_user_abort = On( ]- J0 J; @/ |3 e3 z0 `" s
6 v% D. H# \( N7 E6 C( H/ \7 r0 G- ; Determines the size of the realpath cache to be used by PHP. This value should! `% I! r0 P G# X; n: J \
- ; be increased on systems where PHP opens many files to reflect the quantity of
w/ T4 s" ]1 i7 Y! W/ l - ; the file operations performed.
6 L/ o0 ?: C% d3 w - ; http://php.net/realpath-cache-size* _# b, q8 |' p1 \+ S
- ;realpath_cache_size = 16k' a b# N k t2 J" P
" j! r1 Z. S' r! T+ k& v0 V- ; Duration of time, in seconds for which to cache realpath information for a given0 Y/ {; s7 B6 ^9 z
- ; file or directory. For systems with rarely changing files, consider increasing this* ]6 R3 f2 T j2 D$ X1 o
- ; value.
3 r Y7 m, o7 X: y/ h8 \ - ; http://php.net/realpath-cache-ttl4 m, F n& h; k( s: \1 e6 A
- ;realpath_cache_ttl = 120# c7 z0 f F8 {5 \$ h
6 }/ W: m8 ]. ?8 [- ; Enables or disables the circular reference collector.
+ W/ u* ]0 o# [7 P* v% Q7 m3 R3 q - ; http://php.net/zend.enable-gc$ [+ N! I8 u; D; r8 A6 ~& y
- zend.enable_gc = On
0 \2 l1 O6 C2 G6 P. u% r$ H+ `
$ V1 e8 R' s3 M. S/ B- ; If enabled, scripts may be written in encodings that are incompatible with2 q2 @* Y! g* c2 W
- ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such
% n; U- `" w# Z8 `; C7 \ - ; encodings. To use this feature, mbstring extension must be enabled." Z+ V( T) e7 l% Z) A4 B$ Z
- ; Default: Off+ x0 M, L3 h% j9 K% c) y. x; S
- ;zend.multibyte = Off
) g4 {+ }6 o, o% s& R" {
5 X' x) d' W/ F- ; Allows to set the default encoding for the scripts. This value will be used$ O/ e. o1 ^* j/ C0 b' D7 m/ h- q
- ; unless "declare(encoding=...)" directive appears at the top of the script., }5 I8 {; b$ V4 k/ I
- ; Only affects if zend.multibyte is set." T3 i2 ^ s" h: f: V" G0 `* U5 ^, ?! q1 Y
- ; Default: ""/ ~$ E! \* \! ^$ ?, n& r; `
- ;zend.script_encoding =3 D6 Y6 s1 X7 y4 ?: I/ U
5 v$ ^1 S( t% I M- ;;;;;;;;;;;;;;;;;, F& u B0 r! `. C; n0 P+ i; f
- ; Miscellaneous ;
7 N) Q5 C! ]. o# M - ;;;;;;;;;;;;;;;;;
2 ?3 P4 w) b8 H% C - 2 ~: t) e' e$ e: s
- ; Decides whether PHP may expose the fact that it is installed on the server
* G [% {/ b& ?2 O+ q( ? - ; (e.g. by adding its signature to the Web server header). It is no security4 i0 _/ B4 L7 o: b* r5 ]1 F$ Y
- ; threat in any way, but it makes it possible to determine whether you use PHP
6 Q) ^( K8 S1 i& ?2 r - ; on your server or not.
7 \5 {2 ?5 Z; R: M$ f - ; http://php.net/expose-php
* D" W. W" L: S5 c - expose_php = On3 C& B7 V6 ~' D( ?' h
! R8 y4 E- @9 S$ w- ;;;;;;;;;;;;;;;;;;;( o. a0 B& R3 b- Q- u- c4 \
- ; Resource Limits ;7 s5 |6 J; x* G ?$ Y F
- ;;;;;;;;;;;;;;;;;;;
( L7 _1 Z0 [! S' A
5 z- b% b D( O# [$ o* N- ; Maximum execution time of each script, in seconds
, u, T% N- i0 p, O/ D9 ^! j - ; http://php.net/max-execution-time5 p' E, h( W0 m" ~8 e+ r
- ; Note: This directive is hardcoded to 0 for the CLI SAPI' e; \/ U" v A; ]9 ]
- max_execution_time = 300
6 q+ e6 p* U8 T/ a$ ~& K - / Y s- t( I( F7 \( v
- ; Maximum amount of time each script may spend parsing request data. It's a good
5 f, q1 N/ l/ n- x) ^; l7 \ - ; idea to limit this time on productions servers in order to eliminate unexpectedly4 ]; K7 d4 t( W8 X2 o+ z
- ; long running scripts.
7 U+ k- W& J( ~& y' _+ }. z - ; Note: This directive is hardcoded to -1 for the CLI SAPI+ s6 B5 w6 o1 Q, e. j8 N
- ; Default Value: -1 (Unlimited)
, W* [+ b0 |& K; d5 p - ; Development Value: 60 (60 seconds)! q5 \; J f$ V y9 o
- ; Production Value: 60 (60 seconds)& R3 N! x q! Q. M0 z+ ?
- ; http://php.net/max-input-time
/ y9 ?& k: T5 k! j( P* b - max_input_time = 60( P+ L7 x: n" G' E5 [
- ) p9 W5 L! R: Q0 U; }( q
- ; Maximum input variable nesting level
9 y6 y [% G" O; A" [ - ; http://php.net/max-input-nesting-level' C6 H T; V% U
- ;max_input_nesting_level = 64
& O# o" |2 l9 n9 \+ z
/ P$ y e5 e& r% q- ; How many GET/POST/COOKIE input variables may be accepted; t/ X. A: X: W5 {- |
- ; max_input_vars = 10000 R+ M* R( O, a
: I) x3 s% Z7 s2 D- ; Maximum amount of memory a script may consume (128MB)- B$ u0 c9 ~3 g9 c& Z2 |0 e
- ; http://php.net/memory-limit) z% }8 ]* I, b. t8 i' O2 T: O
- memory_limit = 128M3 t4 F( b5 J( }0 j' g. Y
! A& e; d# R, k9 T6 ?1 J& N- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3 J9 c/ B# x+ ]% s* L" q% s8 G
- ; Error handling and logging ;
- H6 ?( _' D# h W# y0 j - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6 W# T6 I: }9 V5 O
- ( c( S B) T1 s
- ; This directive informs PHP of which errors, warnings and notices you would like# ?- a) S# z2 K
- ; it to take action for. The recommended way of setting values for this* A) ]+ x1 _+ S% U: m# Y
- ; directive is through the use of the error level constants and bitwise
0 q- D% } E* c" T( ] - ; operators. The error level constants are below here for convenience as well as
6 Z# x1 S9 V# O" V% i# } - ; some common settings and their meanings.# Q* ]" x& s! }% Z; V
- ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT' ~+ K9 a3 g7 R
- ; those related to E_NOTICE and E_STRICT, which together cover best practices and0 c8 j) n; _* L& |! U5 c
- ; recommended coding standards in PHP. For performance reasons, this is the
7 b2 f) h0 t3 m' {, k - ; recommend error reporting setting. Your production server shouldn't be wasting
& r- @; i* }9 ~5 \1 d- N+ { - ; resources complaining about best practices and coding standards. That's what
; |9 z! V2 p3 d7 l1 Y - ; development servers and development settings are for.! f/ Y5 X s1 B' U+ C3 s R7 B, g
- ; Note: The php.ini-development file has this setting as E_ALL. This
& B o+ V, i3 g# \( A6 ~ - ; means it pretty much reports everything which is exactly what you want during& E1 x1 J$ q+ X+ z& K$ u2 f
- ; development and early testing.4 o# O0 Y/ m2 W8 P9 K
- ;" K* {0 _8 A* G# `2 y
- ; Error Level Constants:8 q- t" K" W) c
- ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0)
5 w4 `' ]3 y" u( J3 u8 n; g - ; E_ERROR - fatal run-time errors
5 z: O0 ~" ?% {4 X# \, D& O3 q" @ - ; E_RECOVERABLE_ERROR - almost fatal run-time errors
9 F: W8 c# e, n( K0 p - ; E_WARNING - run-time warnings (non-fatal errors)
* ]: k( ^: n& V6 q3 B - ; E_PARSE - compile-time parse errors3 o* O; {/ U4 @& R; |& r
- ; E_NOTICE - run-time notices (these are warnings which often result
$ ]$ o8 K5 |* X - ; from a bug in your code, but it's possible that it was; {" h8 L5 l6 E% H `0 F
- ; intentional (e.g., using an uninitialized variable and
5 V5 C* c; I4 ?1 S4 J - ; relying on the fact it is automatically initialized to an
) P( [7 I- s9 [+ l2 u - ; empty string)
x6 W7 r8 q; Z; g4 L1 m) ~. U% ] - ; E_STRICT - run-time notices, enable to have PHP suggest changes
8 }. B* V2 c# M* }- G - ; to your code which will ensure the best interoperability! Q, C2 }/ q# W
- ; and forward compatibility of your code
3 S8 h6 q1 @/ [! l - ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup* a' f2 t# v% {. h$ p* y
- ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
! m, j9 H+ l# }0 T2 v! I( N - ; initial startup5 B8 `* `( A* ~9 L) P
- ; E_COMPILE_ERROR - fatal compile-time errors' E4 f5 x! I& V' z) @
- ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)( e6 |: t7 q6 P- y* ~! Y
- ; E_USER_ERROR - user-generated error message
0 j* s$ L7 j$ d2 o- Y - ; E_USER_WARNING - user-generated warning message" |5 k G' ^& @ Y; o
- ; E_USER_NOTICE - user-generated notice message
7 ^& ]' ]. P3 n9 P - ; E_DEPRECATED - warn about code that will not work in future versions% {) Z, i3 W/ X. h: \! h1 U
- ; of PHP0 L$ [( ~6 F8 h6 H$ j
- ; E_USER_DEPRECATED - user-generated deprecation warnings
1 U( u6 u! _" `8 L - ;3 z% m6 O) k; ]' d& Q) g J+ l
- ; Common Values:
4 N' S' p$ G" o+ Q6 B/ D/ b2 |) a! L - ; E_ALL (Show all errors, warnings and notices including coding standards.)6 \6 x5 m5 G, O7 S3 @" U& k1 J8 p
- ; E_ALL & ~E_NOTICE (Show all errors, except for notices)
$ V# @$ l9 m) K* c - ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
) F0 [, n. l/ F9 G - ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)4 A! T+ e- ~& n- m' B; x
- ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
5 z6 K" u( C) U0 a1 f4 X) ~ - ; Development Value: E_ALL
: A7 _/ H; N& u) e/ F - ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT5 f2 f' e% E z6 n5 S# j5 O7 X
- ; http://php.net/error-reporting: m d1 m) i- B2 k- o
- error_reporting = E_ALL & ~E_NOTICE) i8 Y, {0 |" i9 L( v
. }1 E# G4 B+ s/ k( F' c- ; This directive controls whether or not and where PHP will output errors,
4 c8 }: ]4 R+ B& K/ G - ; notices and warnings too. Error output is very useful during development, but. S* O) r4 r0 b% m* g; h
- ; it could be very dangerous in production environments. Depending on the code
( w5 m' N! j8 X! ~ - ; which is triggering the error, sensitive information could potentially leak# j5 L6 `. i; m* o' C/ z, a% ^3 e
- ; out of your application such as database usernames and passwords or worse.
' ~6 c2 u6 d. O' G4 r. s4 s - ; For production environments, we recommend logging errors rather than
# ]4 x7 v; b3 t; j - ; sending them to STDOUT.4 ]- N8 i! _ w
- ; Possible Values:
1 U7 _8 W& Z, j6 x B - ; Off = Do not display any errors
3 E8 q. x7 X$ E; j# f1 \8 K; z* m/ P - ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)0 O0 A7 p* T" T3 B: i6 a( e5 U5 q
- ; On or stdout = Display errors to STDOUT
+ `+ O; Q, t, {- Q- p - ; Default Value: On
8 Q W% d) X L$ `" `+ V6 x - ; Development Value: On8 \( t. K7 G2 S
- ; Production Value: Off! l% k- S/ U# R( M. ^, B2 b
- ; http://php.net/display-errors, [$ |! x E; W" t j
- display_errors = On
' N1 h l8 e- ?) B
1 o- G( _# M! H$ Z6 Z; Q. d- ; The display of errors which occur during PHP's startup sequence are handled
) c6 c4 u+ v7 z* c' k0 o - ; separately from display_errors. PHP's default behavior is to suppress those) I' D: y" {6 S4 H% @
- ; errors from clients. Turning the display of startup errors on can be useful in5 `! v6 Z& }, z) h+ R9 y: Z
- ; debugging configuration problems. We strongly recommend you
* @' @3 h, ]* P - ; set this to 'off' for production servers.
+ ?1 S( Q8 k# z" P5 D& I7 {/ I/ n( Z - ; Default Value: Off
. U' e7 z1 Y5 [/ [ - ; Development Value: On
: |# i. I0 v9 s1 ~. |& ~& ?$ C, \ - ; Production Value: Off; [) I) R; c/ z/ [8 x4 h
- ; http://php.net/display-startup-errors
- m, O% |/ i1 d Z1 i6 Z5 C - display_startup_errors = Off! o1 O0 @) ^2 c- x' W( \2 g' u
- 3 ^0 v- N8 d- P4 A
- ; Besides displaying errors, PHP can also log errors to locations such as a
2 X* Q% g2 |: s, F - ; server-specific log, STDERR, or a location specified by the error_log
: K; [8 b* R1 z2 G+ C0 f - ; directive found below. While errors should not be displayed on productions
0 K& G) }5 i. ?. s - ; servers they should still be monitored and logging is a great way to do that.
; t) g/ Y, i, h/ r8 x' q - ; Default Value: Off
& A. [) }: q. f' E m - ; Development Value: On
- ?0 j/ E# X$ H8 S9 k - ; Production Value: On+ @; ^1 |" y7 }" w' T
- ; http://php.net/log-errors: s; I2 Y+ Y/ O; t3 T u m
- log_errors = On3 [6 d9 [! @7 b* B2 e* x% ?
+ V3 y9 ~ Y6 w( b1 c- ; Set maximum length of log_errors. In error_log information about the source is1 b1 R% _" W! b* L
- ; added. The default is 1024 and 0 allows to not apply any maximum length at all.
# w' U# q/ i* e+ h! ~* u - ; http://php.net/log-errors-max-len
: O0 T( e6 Q* ~+ a) Q9 D+ _6 N3 H - log_errors_max_len = 1024
2 q) m Z; t) v& ^6 I( }% l
s' f7 R& k' f( @- ; Do not log repeated messages. Repeated errors must occur in same file on same$ O2 F0 d: y3 e( G% K# P
- ; line unless ignore_repeated_source is set true.
5 f% ^& a( `5 F; Q' u - ; http://php.net/ignore-repeated-errors
- K* E, X' \. f$ r: F8 J0 n - ignore_repeated_errors = Off, o- N1 w2 |% w5 U) B
* b5 P& {! }* G4 K) D' }) Y3 i8 E- ; Ignore source of message when ignoring repeated messages. When this setting
8 `: i" J; m, B - ; is On you will not log errors with repeated messages from different files or
c7 v5 I. r ` - ; source lines.* F# t# A/ h h% z4 S
- ; http://php.net/ignore-repeated-source' N8 Y4 i' _7 h2 L& q/ W' K6 z
- ignore_repeated_source = Off3 e r7 |: L3 }2 _7 n. t: s
- ! v0 A; O* f! X
- ; If this parameter is set to Off, then memory leaks will not be shown (on6 | E4 C# L: N* \7 t
- ; stdout or in the log). This has only effect in a debug compile, and if2 o( _; L+ r; r: e
- ; error reporting includes E_WARNING in the allowed list9 L4 |' k8 E( J
- ; http://php.net/report-memleaks5 b! b7 ~8 {& c
- report_memleaks = On
) q2 w5 w" ~# x. p% P/ M2 z& @
! q _+ h1 ]0 t$ L+ {- ; This setting is on by default.- K, h" b# \2 O) B. [4 l
- ;report_zend_debug = 0
5 U [. i) F5 V+ U9 L% o0 J9 w1 @
" Q' t: V6 Q9 o2 G0 U+ i9 ]- ; Store the last error/warning message in $php_errormsg (boolean). Setting this value
% B: T7 L- u4 j4 F5 L0 ` - ; to On can assist in debugging and is appropriate for development servers. It should
1 h8 y0 Y$ f: K0 G# d1 X - ; however be disabled on production servers.. }! x! j, e8 _! z& \
- ; Default Value: Off) J* g) B1 ~$ k' K, U& _: d. W
- ; Development Value: On" D( W, R g* p" t$ i& D! t7 n `
- ; Production Value: Off# W% y {! [& a
- ; http://php.net/track-errors
- H( ^" Y, o6 C) y$ T, I - track_errors = Off# v# @" ?# ~. g! V
- 2 T/ I) |* L# H8 @
- ; Turn off normal error reporting and emit XML-RPC error XML ^/ y# f1 x6 x( n9 m/ O! H$ u
- ; http://php.net/xmlrpc-errors
1 o$ O [' K( D9 \) S' F - ;xmlrpc_errors = 0 h2 B+ O- D% V5 ~0 o) ]
4 @3 T7 k# c+ ^( y/ Z- ; An XML-RPC faultCode1 z' a( `6 u( m- F' A
- ;xmlrpc_error_number = 0
+ G4 _- h( u% I& K1 j' R5 ^
* _; f! \. O& h( V- ; When PHP displays or logs an error, it has the capability of formatting the W5 F$ k# Q+ d- ~9 C, }3 |
- ; error message as HTML for easier reading. This directive controls whether
$ I6 F' p& S n" t6 Q - ; the error message is formatted as HTML or not.
0 `9 v B2 @. n' J. {( Z2 i: X - ; Note: This directive is hardcoded to Off for the CLI SAPI
{$ \# R" Q" F7 J - ; Default Value: On
. C+ X- g! W3 s2 |. i+ ]* D - ; Development Value: On
6 l p0 ]7 f. \; ]7 @( F - ; Production value: On
6 H5 ^# r+ U, X. U - ; http://php.net/html-errors
+ y$ C) @. f( e& q8 \( }8 u - html_errors = On
& M7 c' ?( O" z1 T9 |7 j - - W% r8 n: F, {9 H/ ?
- ; If html_errors is set to On *and* docref_root is not empty, then PHP
1 ?! C$ W6 A) H" R - ; produces clickable error messages that direct to a page describing the error$ w% t3 x7 t' H" `, Z4 p
- ; or function causing the error in detail.
9 C0 T4 \: @8 [3 w( t2 g9 O6 q' K - ; You can download a copy of the PHP manual from http://php.net/docs
$ R: F( ^7 w: l1 f `$ t O( I - ; and change docref_root to the base URL of your local copy including the( ^9 K" t, n P' @2 D6 S- f5 e* t3 _
- ; leading '/'. You must also specify the file extension being used including
, p7 r! E. [! n5 {6 e - ; the dot. PHP's default behavior is to leave these settings empty, in which, l8 l: C3 }) |) a9 k' ]8 C
- ; case no links to documentation are generated.
9 \ j0 p f6 T) w - ; Note: Never use this feature for production boxes.! F# d( X% @& o! ^, f$ W
- ; http://php.net/docref-root3 |: e7 Y" _9 {- p" @
- ; Examples# T8 _( M9 [0 I/ j: t
- ;docref_root = "/phpmanual/"
! r( {+ N& d& [! K/ y+ B& Q
$ y9 ~2 g& ?" O( N0 G; a6 a- ; http://php.net/docref-ext: K. W! K: o. g+ m5 ~
- ;docref_ext = .html
`2 c& l3 W8 E; M! _, Y% Z
- l2 I+ E# o& X ?- ; String to output before an error message. PHP's default behavior is to leave
7 w- P0 r; X0 f' u - ; this setting blank.
% b3 M- y2 P) f w - ; http://php.net/error-prepend-string$ j% I- D G$ S3 Y( n, }
- ; Example:$ r n8 i4 `( @( v N
- ;error_prepend_string = "<span style='color: #ff0000'>"1 C: o0 O3 P E" o# }
- 7 j) H1 O4 c0 x$ [5 b
- ; String to output after an error message. PHP's default behavior is to leave
( {/ b s/ N% N0 w! P* V1 P* s& X - ; this setting blank.
2 s7 ]* e ~! P Q- Z8 d$ ]! r9 @ - ; http://php.net/error-append-string
+ n& c8 P( j/ r; o5 I% ^% Y; q- A% Q - ; Example:
- I2 `& t1 a( ^; K" X - ;error_append_string = "</span>"
8 N( w Y8 }( z! ]
4 U5 Q7 v! `+ {; S- ; Log errors to specified file. PHP's default behavior is to leave this value! B: y4 z3 o- p1 D
- ; empty.0 R2 I& i: D. j) u: t/ j k
- ; http://php.net/error-log0 B1 j. \* Z: L5 \3 x
- ; Example:
6 K0 O9 ?0 S! \7 a' @" x - ;error_log = php_errors.log
/ b- v5 y" Q+ \' V! I - ; Log errors to syslog (Event Log on Windows)." i x' j& e- o2 T S$ ^, n
- ;error_log = syslog
5 G) g S9 t8 W( N- F
& i! d6 O" y7 C& i9 X+ J- ;windows.show_crt_warning- H' }* y6 K+ r! X% k' u
- ; Default value: 0
o/ A1 U; J7 j U, p - ; Development value: 0
) f' w7 T0 h# Y0 [! C/ W c( r1 [3 B - ; Production value: 0( m3 Y- s3 W* v9 F7 T2 x: {: g
- . Z. O- m, ^" g% e
- ;;;;;;;;;;;;;;;;; l6 D/ q( Q1 J+ j1 ^# d# v
- ; Data Handling ;
6 g) }' D1 w" A6 t, E+ Z" v8 @ - ;;;;;;;;;;;;;;;;;
$ h& P% N8 {1 @, p2 }4 R+ C
6 Y. H3 D9 I' K! [' |2 ~- ; The separator used in PHP generated URLs to separate arguments.
: U! V \5 ~ q% T" z" [ - ; PHP's default setting is "&".
$ F) t, [( |: M( N) ] - ; http://php.net/arg-separator.output% o8 i$ |7 S) S5 A9 `
- ; Example:
7 ]# Y0 d: X: E8 I4 j. k - ;arg_separator.output = "&"8 w8 h* k' H; F1 o
- " E: I. Y# B' v
- ; List of separator(s) used by PHP to parse input URLs into variables.) Y) v4 C9 G4 o b3 N% N' ]
- ; PHP's default setting is "&".
' d: a2 Z) i, n4 j$ }, H% h - ; NOTE: Every character in this directive is considered as separator!
" l* |% G i+ T' ? - ; http://php.net/arg-separator.input( m3 \* `+ m) E! M, E
- ; Example:
3 @8 b7 @& A3 d* l! ]: ~& F - ;arg_separator.input = ";&"7 ~: `0 H2 `* x
}9 C/ E: ?# M; j3 J9 q- ; This directive determines which super global arrays are registered when PHP) t" T1 n* D& W/ F% G) `
- ; starts up. G,P,C,E & S are abbreviations for the following respective super
* a6 a( b" P$ S# h - ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty" u2 }" m$ N" i0 g) Q3 B
- ; paid for the registration of these arrays and because ENV is not as commonly
( w3 B/ z$ d& H+ Z ]1 t% N - ; used as the others, ENV is not recommended on productions servers. You( ^; W+ H' U' s7 [- I8 G( ~
- ; can still get access to the environment variables through getenv() should you
* h( @1 b# y) ~& B2 F6 m3 z/ @ - ; need to.
' L. x% M. o) K5 j - ; Default Value: "EGPCS". j0 N# s% a2 C9 i5 B
- ; Development Value: "GPCS"
2 y0 g) o; Y. w+ e: ?+ q$ t - ; Production Value: "GPCS";
4 x$ o/ K r+ c9 _! o7 F - ; http://php.net/variables-order
% z5 @ Q1 h8 @/ h# ^( E: V - variables_order = "GPCS" N; m& c$ j; V. i$ s4 ?
- 1 c C1 K2 P& }8 f- Q! y
- ; This directive determines which super global data (G,P & C) should be
5 y. G0 C' S I/ ?- Z7 } - ; registered into the super global array REQUEST. If so, it also determines! c @: s( j8 b2 i3 F, T& U: M
- ; the order in which that data is registered. The values for this directive
5 L' }8 M1 Q. g0 B' Q2 E - ; are specified in the same manner as the variables_order directive,
1 S" j/ `! P: O. h! c - ; EXCEPT one. Leaving this value empty will cause PHP to use the value set
2 K7 y$ t5 A5 a; k - ; in the variables_order directive. It does not mean it will leave the super- i7 p. \. u9 J3 C
- ; globals array REQUEST empty.9 r( C- `. U9 |) ~* j6 y
- ; Default Value: None
3 B% }- Y4 @+ e/ R- u7 H- N - ; Development Value: "GP"# O. g! h! E, ?& K, H# y
- ; Production Value: "GP", _$ a* ]% Q, N5 N$ Z( U1 c6 J
- ; http://php.net/request-order) L6 q4 _/ T# J5 [3 @4 S& O
- request_order = "GP": |3 n2 b$ Y8 Y$ i7 I i
/ L `8 i7 _7 d3 |- ; This directive determines whether PHP registers $argv & $argc each time it7 r5 y9 \, {% m
- ; runs. $argv contains an array of all the arguments passed to PHP when a script
6 x! X) B3 K( p* ]* q! f - ; is invoked. $argc contains an integer representing the number of arguments s q, z+ h, b& P
- ; that were passed when the script was invoked. These arrays are extremely
' i- j8 [! p8 |6 j5 @& h+ d6 H f9 v - ; useful when running scripts from the command line. When this directive is
: J0 t N/ M+ l6 | - ; enabled, registering these variables consumes CPU cycles and memory each time
: C+ B5 P4 l' M9 u# r% V4 h - ; a script is executed. For performance reasons, this feature should be disabled+ _$ v# _( \* X5 K& ~0 n; H
- ; on production servers.
6 x( O! a% ~& }: b5 ? - ; Note: This directive is hardcoded to On for the CLI SAPI
' m; q1 z% \6 x7 o5 l7 I - ; Default Value: On
- C) D9 {% s2 y1 d ^+ b# B' h - ; Development Value: Off8 s6 ^0 e! J) B: e
- ; Production Value: Off ~! _6 s% q' P7 X
- ; http://php.net/register-argc-argv& C1 z2 o) ^( O$ `/ s
- register_argc_argv = Off
" Z y: P% x" Y# B; O% I
4 w8 _, o( s+ y- ; When enabled, the ENV, REQUEST and SERVER variables are created when they're: i- y; ]' C1 ]/ F
- ; first used (Just In Time) instead of when the script starts. If these
2 U& u$ }5 G S0 V, Q - ; variables are not used within a script, having this directive on will result/ ]1 j+ y: B- o$ Q$ t* p
- ; in a performance gain. The PHP directive register_argc_argv must be disabled* c- I3 \5 T5 @1 z" |% P
- ; for this directive to have any affect.
+ J# ?. G. F9 L2 a7 s8 h5 o - ; http://php.net/auto-globals-jit6 X9 U8 J: r1 \* E; g2 f
- auto_globals_jit = On; ]7 L- d6 [$ y. v1 c
2 W" }# x6 n& d8 u- I" L. D% S: u- ; Whether PHP will read the POST data.6 a$ v/ N& r- `0 g
- ; This option is enabled by default.
7 n+ p: \3 y; G" {% I" k5 m - ; Most likely, you won't want to disable this option globally. It causes $_POST: X: D& g: ]2 C9 ]$ x# {4 J$ i8 t
- ; and $_FILES to always be empty; the only way you will be able to read the
) y6 H; \, U+ S5 G0 o9 @" J - ; POST data will be through the php://input stream wrapper. This can be useful
; m8 h2 L9 W7 H3 K, L - ; to proxy requests or to process the POST data in a memory efficient fashion.4 G6 p/ }4 Y0 r4 M
- ; http://php.net/enable-post-data-reading
% {. U; v- W1 ?% h) Y" g* Y - ;enable_post_data_reading = Off) }) s) {7 j* J
- ; ]) d" ]7 ?0 N! V% H6 H
- ; Maximum size of POST data that PHP will accept.
+ o3 U0 B6 q, E7 L5 j$ S - ; Its value may be 0 to disable the limit. It is ignored if POST data reading
% y+ M2 \/ [- X8 ?- D - ; is disabled through enable_post_data_reading.
% |" R0 R& D& s# u+ F0 G - ; http://php.net/post-max-size
7 ]- }2 z( E2 A, } - post_max_size = 50M
, _4 j3 I# ]( B+ Q
# A. W0 } `8 o* h0 H# h3 Q- ; Automatically add files before PHP document.
* k0 |; a' V7 r/ R; I - ; http://php.net/auto-prepend-file
; A) }/ w9 H. i7 S+ | - auto_prepend_file =' W: a$ }* K+ j. o" [3 q" L3 Q0 @
, j# C/ ^4 c1 C G% J9 O4 ^3 m- ; Automatically add files after PHP document.+ w6 R6 f, d& O: P: \: Z' C: ]7 j
- ; http://php.net/auto-append-file! |3 |! y, }* w6 ^( \6 B& P
- auto_append_file = q5 ?: {. S9 Z/ ^4 H
# j, _6 @: \) G- ; By default, PHP will output a media type using the Content-Type header. To
' R. F5 E9 o, L6 @0 t - ; disable this, simply set it to be empty.
$ i7 c1 O9 o6 V. d7 R - ;% i# g) \" s# {, }+ ]& e. j2 ?
- ; PHP's built-in default media type is set to text/html.
: ]4 d1 t# R" @( D - ; http://php.net/default-mimetype
0 i( ?" Q8 N+ ]/ a9 x - default_mimetype = "text/html"
2 u' x7 r/ l' @# _" q I - ( Z2 i: X. f. L, O& W
- ; PHP's default character set is set to UTF-8.
* G. m* a( i0 }3 ]9 B- v5 r - ; http://php.net/default-charset9 Z* _& N; @5 K+ m
- default_charset = "UTF-8"
+ v3 i1 @2 P" ?6 L( _3 T
, `% S5 A0 [0 M5 F0 d+ s. l" z- F- ; PHP internal character encoding is set to empty.5 p) h/ D$ N. Z
- ; If empty, default_charset is used.' \! F" O N, p* U, l/ I8 f/ ~
- ; http://php.net/internal-encoding0 s9 M: J0 [9 e) w* O) V
- ;internal_encoding =
( W% k. q0 w8 H2 Q& Z0 G0 e - / v. s1 s6 f, Q
- ; PHP input character encoding is set to empty.
* J& J" O) c) [5 h4 N - ; If empty, default_charset is used.4 x% H6 n' } Z) C0 M" h# S& ^) N# g
- ; http://php.net/input-encoding
; P$ P6 F, x& _ - ;input_encoding =
, }% Y8 Y3 P# [7 `% ?# e, a
! ?0 f% X; T/ |/ X0 K3 i/ }- ; PHP output character encoding is set to empty.
0 j% i$ Y/ \( R' O' g) L7 m - ; If empty, default_charset is used.# L' a, |3 D# [. V! E
- ; See also output_buffer.! O) |2 t/ |8 Q* j1 a# Z1 F& G
- ; http://php.net/output-encoding
5 O2 M0 x. _ ^ - ;output_encoding =- U* ~4 i0 @4 M6 F
- + j2 F7 T; ~1 N! y0 `; _. M2 ^$ q3 m* u% ~
- ; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is% t& Y1 J7 X: M# y
- ; to disable this feature and it will be removed in a future version.
$ s; I. f% S& }- a, Y7 x - ; If post reading is disabled through enable_post_data_reading,
1 h2 a; B, C- B1 j; `, o - ; $HTTP_RAW_POST_DATA is *NOT* populated.
1 g2 ?* V2 p6 Y - ; http://php.net/always-populate-raw-post-data# I% \( s& t, \0 ~' h5 y
- ;always_populate_raw_post_data = -19 l. D& D- j: C# u: A$ y
- 9 O7 k7 b# V2 [$ `- M
- ;;;;;;;;;;;;;;;;;;;;;;;;;
$ x$ C# m4 N# |, M! i; \7 L - ; Paths and Directories ;
% r; D# m. t5 k* i( z - ;;;;;;;;;;;;;;;;;;;;;;;;;
2 n/ d3 {2 c+ N* ^
& e% @5 f2 p: O) V: Y- ; UNIX: "/path1:/path2"
n. S9 Y o5 ^% x& t6 F3 H - ;include_path = ".:/php/includes"
; h# q: g7 r4 z# s* e - ;. X5 ~- F- f, J4 e U7 Y
- ; Windows: "\path1;\path2"; G" x. c% q' T8 ]
- ;include_path = ".;c:\php\includes"
5 D0 V0 A9 U2 j6 l0 D1 U! J7 x, Q - ;
6 z/ q1 K4 \% ~; {$ O6 g; A8 `% Z, U - ; PHP's default setting for include_path is ".;/path/to/php/pear"
: t) A0 b8 s9 e! N - ; http://php.net/include-path
! f y3 e3 [; W* H% A9 a - & I/ u! ^7 R8 U# J4 N; g1 P6 B
- ; The root of the PHP pages, used only if nonempty.
' _- R, ?+ k- g/ E0 Y, @7 T' a - ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root+ ?& Q' I: a, q* ^7 R8 M
- ; if you are running php as a CGI under any web server (other than IIS)) }1 v8 m4 X: g, n
- ; see documentation for security issues. The alternate is to use the4 q! J/ O) n% d1 Z
- ; cgi.force_redirect configuration below
* D, _( W; Y6 ] d* t8 K - ; http://php.net/doc-root
) N A3 L! P6 p3 L+ H - doc_root =6 p3 Y4 X! ` }7 Q$ n. @. G, Z4 t
( `6 r0 ?6 x2 w3 z- ; The directory under which PHP opens the script using /~username used only% E4 b3 j Z% M
- ; if nonempty.
: j7 m, q; L: V- ^' ~2 s - ; http://php.net/user-dir
2 ]" o/ K0 l3 M6 g. D/ q - user_dir =
' a3 K2 z! ^* P" E, ?' q - ! k& v6 `, j* S
- ; Directory in which the loadable extensions (modules) reside.
% C$ Q* w" t: S& m! K5 G - ; http://php.net/extension-dir
: Z; p% h5 x7 h4 L - ; extension_dir = "./"1 W, Z6 ?+ ?# C
- ; On windows:
; s. l5 ?6 J9 U+ [ - ; extension_dir = "ext"; t2 ? b/ W1 H U6 r
4 P% H! y8 g' r. g- ; Directory where the temporary files should be placed.1 ~9 C: c1 r5 X
- ; Defaults to the system default (see sys_get_temp_dir)
, c$ f' `9 o1 j' M - ; sys_temp_dir = "/tmp"
2 o5 N5 ^+ h. c1 i - + U5 B. v8 N. G( {7 [, j4 ]4 a
- ; Whether or not to enable the dl() function. The dl() function does NOT work" K3 I1 A9 }" L! {# L0 p6 K
- ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
1 d5 ]4 N1 J- G2 I( @ - ; disabled on them.
5 K- d* I$ w1 u z1 N, f) l - ; http://php.net/enable-dl
' v9 A7 Q, J3 g! K$ j# I6 p- B6 u - enable_dl = Off+ U9 O" [- B# `; o( ~0 C& g
$ S& \4 E/ u/ @7 t$ h- ; cgi.force_redirect is necessary to provide security running PHP as a CGI under& s3 _" ~9 a0 R. m1 |! v6 }6 O" f% B: e
- ; most web servers. Left undefined, PHP turns this on by default. You can
/ T! Z2 G) f2 v# v: s - ; turn it off here AT YOUR OWN RISK
1 Q/ k1 y9 T k& H2 N: F - ; **You CAN safely turn this off for IIS, in fact, you MUST.**
- F0 g& I& M# @: ?! o/ l3 ? - ; http://php.net/cgi.force-redirect' [9 _ h3 r1 l
- ;cgi.force_redirect = 1$ }2 S/ O1 s1 z7 q" N% L- Y9 R
- 4 \: {$ P" W5 {4 J( r
- ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with3 G% P' v! l+ H5 K% l( c. q
- ; every request. PHP's default behavior is to disable this feature.
; w! v6 K/ W7 B+ T# ^$ `5 x - ;cgi.nph = 1
3 e" [5 d- \5 O. [# r/ G - 1 S6 \" X4 j( R: t
- ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
! j" K4 e3 c% g, X$ z/ S - ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP) W' | B2 v7 `, s
- ; will look for to know it is OK to continue execution. Setting this variable MAY4 |( H# B+ g6 b6 l0 N
- ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
# Y5 A$ T+ J+ K, x. l4 Y - ; http://php.net/cgi.redirect-status-env4 ^8 M8 b& K- a
- ;cgi.redirect_status_env =# ^ X$ K6 [2 d8 ]2 k- |
* Y# f: s: r+ m) T) L9 A0 S5 [- ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
6 b4 f/ C( L! b" u$ h" Y; _% d - ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
* P2 L9 c' F" e7 {1 l) v/ A! F. R - ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
3 n0 M9 i6 H5 f/ D* M* a0 D - ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
1 P5 g" d1 J- s3 S - ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts( V) Y( X. k/ i
- ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
- A6 Q; B! `$ a; R: O - ; http://php.net/cgi.fix-pathinfo
. ~" D+ F0 m: B* h - cgi.fix_pathinfo=1/ y( }, D: m" L0 X' e
. x8 K" `8 b6 B- ; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
8 [5 s8 a$ {- }. F$ { - ; of the web tree and people will not be able to circumvent .htaccess security.( G# `9 R8 p( M
- ; http://php.net/cgi.dicard-path5 k" }) \. Q! r1 e. P; f
- ;cgi.discard_path=1
- p8 G# s; O" B; _
0 ^% `9 s) L( b1 ~# Y3 `- ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate5 m5 R: U9 q6 \8 r: n9 y' `
- ; security tokens of the calling client. This allows IIS to define the
' o+ c0 ]: c0 u - ; security context that the request runs under. mod_fastcgi under Apache, ~& L8 D8 [3 J5 H \* P7 [" x
- ; does not currently support this feature (03/17/2002)
9 z2 m2 S4 p# ` - ; Set to 1 if running under IIS. Default is zero.3 G- ~# d) a$ s! P
- ; http://php.net/fastcgi.impersonate2 ?8 F4 z% c( R7 F
- ;fastcgi.impersonate = 1
/ s2 s5 Z U: T$ ~1 V" [: F3 s
2 B; I; s) J1 H i9 a, ~' ~- ; Disable logging through FastCGI connection. PHP's default behavior is to enable7 _! \7 q' p4 |2 w
- ; this feature.
$ y0 z2 M0 b: i) @/ ^ - ;fastcgi.logging = 0
% ?; [: Z$ r( j6 e9 U) n* x
1 ]; u9 l0 o0 `4 y) w0 B+ O, F% a- ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
7 v# j- Q4 S d5 L2 Z - ; use when sending HTTP response code. If set to 0, PHP sends Status: header that& {$ |& |# c/ S! R: a
- ; is supported by Apache. When this option is set to 1, PHP will send
: L0 d8 G% b" }0 i8 J - ; RFC2616 compliant header.
$ E0 f. c5 g$ K3 p6 l; r8 }5 I - ; Default is zero.
9 [2 i! x, H, D- S& q - ; http://php.net/cgi.rfc2616-headers
4 \& Q7 S- E, A7 h - ;cgi.rfc2616_headers = 0
& a F* i% `; `4 A; G - 2 ]8 K: V# V+ l3 x* d! n
- ; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
2 n! G' @0 z7 l( Y& I - ; (shebang) at the top of the running script. This line might be needed if the
" y6 I& q% w6 [; J& B, O1 M( ~ - ; script support running both as stand-alone script and via PHP CGI<. PHP in CGI
$ U4 w, s0 y* i6 e - ; mode skips this line and ignores its content if this directive is turned on.
' y9 @! L& J; A. ~5 V7 J' r3 O6 @ - ; http://php.net/cgi.check-shebang-line. n6 T M/ P% u1 q/ G: P/ M+ a
- ;cgi.check_shebang_line=12 [! e7 L" |& G5 Q- {
- / c6 g$ Q1 k& b+ y0 T1 s0 z
- ;;;;;;;;;;;;;;;;# E; g O% Q7 U
- ; File Uploads ;
/ k+ n' H* l% `: e - ;;;;;;;;;;;;;;;;
8 K1 K$ w, |. T( I+ a( P+ T8 u - 1 [( ^; c! a6 }' H1 W: w! x
- ; Whether to allow HTTP file uploads.
, o0 A# e s/ N6 {0 E; x$ w - ; http://php.net/file-uploads* I9 ^/ N* R) [1 m6 c# R0 o& z% G+ r
- file_uploads = On
' v& v* k& h; s3 J! V - $ Q" x& R7 F4 w: H7 I' j! ?1 [
- ; Temporary directory for HTTP uploaded files (will use system default if not
! }: S2 f0 }5 Q( p - ; specified).
" ?9 H" `" S3 O a2 @2 F! ~+ E - ; http://php.net/upload-tmp-dir7 W1 Y% G6 T! ~+ n& Y# Q
- ;upload_tmp_dir =
( R! }! u0 y- a" u0 [; g7 ] i7 z
' U8 j2 R5 j1 \- ; Maximum allowed size for uploaded files.
& o6 k* J% ?" r' j# F. M4 Z - ; http://php.net/upload-max-filesize$ t& O3 I6 ]/ e y% ?
- upload_max_filesize = 50M
0 U* W' x* {3 Y5 n1 Q$ ?7 U* C0 |
" Z: M/ g: W" F# l2 X3 S; I- ; Maximum number of files that can be uploaded via a single request
) w" W& A+ C; }( X! ] - max_file_uploads = 203 G. [1 L& |: w8 I0 o4 c$ o
+ x% w# T2 m8 r ^7 @- ;;;;;;;;;;;;;;;;;; A& R, ]. Y e
- ; Fopen wrappers ;
3 L! u1 u/ c8 L/ g$ ? - ;;;;;;;;;;;;;;;;;;/ m- X5 I7 v4 ]
2 |5 o- g5 ?8 N. E w2 A4 d- ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
( l7 M* v/ l5 x9 Q' _. n7 q - ; http://php.net/allow-url-fopen
* V+ E+ q7 p8 d9 a9 e. r& i - allow_url_fopen = On
) `! n6 i5 n9 j+ `9 |. `
; ~9 j F! G. o- b- {9 U1 R$ e- ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.) \) f) b; }& {! W( {! n# n
- ; http://php.net/allow-url-include# V) B p9 U$ {4 r0 }
- allow_url_include = Off2 R( H; z+ |. A
- ( [- @2 t1 _5 F# K/ b5 R9 B
- ; Define the anonymous ftp password (your email address). PHP's default setting
# D, g; X" y6 F3 V L: r - ; for this is empty.* A+ m% S1 u g' c( l& `' W7 ~: @
- ; http://php.net/from
* `1 S* @# f7 G7 `4 N- v - ;from="john@doe.com"
' |6 a$ q# X- |4 X) L; p - + d/ J5 h5 L2 _4 k$ C' I
- ; Define the User-Agent string. PHP's default setting for this is empty.
: ~( @2 p* Q2 g - ; http://php.net/user-agent, `6 _0 M1 a9 [1 M
- ;user_agent="PHP"3 u, ~$ D) v" _- F0 b' v
- : f; C6 E; f, Z, u. a E3 \6 _7 H
- ; Default timeout for socket based streams (seconds)
8 Y1 u: f9 w- m7 N' V - ; http://php.net/default-socket-timeout, p6 L* d( ?5 A% ]
- default_socket_timeout = 605 K- C" z3 e: Z
, y8 u8 A( V1 b* [5 e- ; If your scripts have to deal with files from Macintosh systems,
5 X$ j7 Z( [! R* g7 J" v- k) d0 r - ; or you are running on a Mac and need to deal with files from9 b8 D& o+ n5 @! F
- ; unix or win32 systems, setting this flag will cause PHP to7 V. w5 M0 x& C, o" c# B6 Y* D
- ; automatically detect the EOL character in those files so that7 u& \* o% \, _- |+ G. [, d+ n
- ; fgets() and file() will work regardless of the source of the file.
2 V8 t8 u& {# E9 W- `, q- }0 R - ; http://php.net/auto-detect-line-endings! \+ x3 D" w3 x& o* p+ Z
- ;auto_detect_line_endings = Off
; W- ?4 B% p+ N& ^3 u9 t/ R - 8 {8 `3 u y3 t) h) {+ I
- ;;;;;;;;;;;;;;;;;;;;;;- K; `+ u) {$ s: Z( L% d
- ; Dynamic Extensions ;% {$ I: g$ @: a6 l. U- W' v) P" @
- ;;;;;;;;;;;;;;;;;;;;;;
6 ^8 T% c; d/ e3 Q& L$ f - 6 U, y3 F+ F+ s$ c
- ; If you wish to have an extension loaded automatically, use the following3 Z' i; d# ?! z. S4 ]% s7 v
- ; syntax:
4 K: y: X& y1 X) s- U; p - ;
1 I/ L( S8 N8 F& e+ d6 {& H - ; extension=modulename.extension
4 c; n! p) N+ V - ;" a! L8 Y: n* X5 \
- ; For example, on Windows:3 R5 `2 A- f {7 m4 T7 q# j9 u+ i
- ;
' s1 }; R9 n, D) @+ l3 s( ~ - ; extension=msql.dll% B; v. Q3 A& E) Z. Z+ h
- ;, _7 M8 `$ k% `3 V0 f3 Y; k& a2 H
- ; ... or under UNIX:' ]; ]! d4 O( G ]4 ^( c# a
- ;, z/ N( z7 K: D P' |5 U- a: A
- ; extension=msql.so; f% W# _0 |) _ {$ K
- ;- T, V& `3 p8 y. r0 T# o
- ; ... or with a path:& @" W2 c: P( ?+ ~. A0 ~
- ;
/ {9 `/ r; G2 u3 K( I - ; extension=/path/to/extension/msql.so
, g4 i0 M- W( }, z5 e0 w - ;
# v. A0 i" W6 r$ K& [" }- E' w - ; If you only provide the name of the extension, PHP will look for it in its
5 ~" h+ V: A4 M - ; default extension directory.
9 o( v9 b3 o5 j' v/ N - ;% _& b" }9 t" I; Y) h
- ; Windows Extensions
7 N! Q8 R4 h+ F2 D - ; Note that ODBC support is built in, so no dll is needed for it.9 b5 P9 G- V0 r5 M" I
- ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
' _3 `/ b. g/ m ]! i - ; extension folders as well as the separate PECL DLL download (PHP 5).
5 }# ^7 ^# _& t! m6 J3 R( ] - ; Be sure to appropriately set the extension_dir directive.7 T3 c* ]# x: j( _1 I8 G
- ;
) N8 T) N9 {! h - ;extension=php_bz2.dll
& ?% Y1 U! U) N: Y1 ]- o2 _ - ;extension=php_curl.dll
7 j3 B6 p5 j$ R/ ?4 [ E: h" n - ;extension=php_fileinfo.dll
5 V( O n) k$ q/ L5 ? - ;extension=php_gd2.dll- x! k/ A: _9 t- G8 ]
- ;extension=php_gettext.dll
& ]/ y; F' {9 N, o1 D' X+ m; L! H - ;extension=php_gmp.dll
8 h( s0 p2 ?$ W3 ?! U) K. ?5 R - ;extension=php_intl.dll
$ U" C/ s% U7 O+ _ - ;extension=php_imap.dll) M# A5 m; R+ O& U- H2 {$ a- C
- ;extension=php_interbase.dll, W, n! V* C0 o3 q+ @% e$ x; d
- ;extension=php_ldap.dll3 J/ p% P4 T' x/ k4 C
- ;extension=php_mbstring.dll; B2 s/ a) u K( r7 p( a) P4 H
- ;extension=php_exif.dll ; Must be after mbstring as it depends on it& _8 a1 S0 M, K B* v1 D! I. A) @
- ;extension=php_mysql.dll
j" y& A! P& g. m. Q - ;extension=php_mysqli.dll
* U% ?6 X! B% f: o0 L - ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client2 F5 X5 ?/ y6 x6 O* B
- ;extension=php_openssl.dll+ f5 D' ?; w/ A# [( ], F. d
- ;extension=php_pdo_firebird.dll" G1 n5 m" S8 i" a: y5 c
- ;extension=php_pdo_mysql.dll
, r9 A& K7 O5 d/ o - ;extension=php_pdo_oci.dll
1 [! q7 Y# ?5 h - ;extension=php_pdo_odbc.dll
7 \( F$ c2 k$ u& Q" E - ;extension=php_pdo_pgsql.dll. K( ~" E( _' ^6 p! M, f1 W2 q
- ;extension=php_pdo_sqlite.dll0 A0 u; l* v% U$ j- y
- ;extension=php_pgsql.dll+ s- S6 Y U5 [& _* K# V9 o9 O
- ;extension=php_shmop.dll
; }3 T- m5 H; C1 f' z8 }
; c8 T5 \9 h. w- o* a- ; The MIBS data available in the PHP distribution must be installed.
' l( ]; F: c* T0 \% D - ; See http://www.php.net/manual/en/snmp.installation.php
$ o7 f& {1 g" d, v- E4 c - ;extension=php_snmp.dll
& }8 r2 P9 Q: p2 B7 m - $ o0 P( N4 e. S/ Y# x+ t# d
- ;extension=php_soap.dll
- N5 A% J3 n$ _) G5 x! C - ;extension=php_sockets.dll6 _3 ?: k2 E- s: \/ c
- ;extension=php_sqlite3.dll
" Q! N% W3 x2 d: ]/ Q - ;extension=php_sybase_ct.dll/ [3 D$ D; h8 o' y( G
- ;extension=php_tidy.dll& E" `2 A5 m: P1 F' [/ R
- ;extension=php_xmlrpc.dll" _1 t' P7 w0 A0 E- I
- ;extension=php_xsl.dll- V6 y# J4 T6 D( O
- 0 c5 O- b9 @/ c, U$ J
- ;;;;;;;;;;;;;;;;;;;, r! |$ c! @4 }! g, F
- ; Module Settings ;
9 x6 ~! r) T9 a% e1 ]& M0 N - ;;;;;;;;;;;;;;;;;;;& u0 L6 O; x4 n K2 [
, E) C5 f& g0 X! C( C L& X- [CLI Server]
9 w7 }. }8 b7 p1 h+ P5 H) C& } - ; Whether the CLI web server uses ANSI color coding in its terminal output.$ E- k# _" S( M5 T: v
- cli_server.color = On
4 y) X/ B6 H$ B) L2 ?9 v B6 t- B
. v' Z0 u0 F1 Y- d" W- [Date]/ o$ B G7 t& k; {
- ; Defines the default timezone used by the date functions$ V9 R+ p" z/ _. {) g: |
- ; http://php.net/date.timezone
- c5 W( S! N0 F% a - date.timezone = PRC8 @9 {; l2 N, B# \
- ! B1 v9 |# S+ W
- ; http://php.net/date.default-latitude9 Z$ [$ x+ j( n5 P$ [' i9 [
- ;date.default_latitude = 31.7667
. k6 c# Y! ^6 ^8 n/ [ - 9 v, Z; s+ T* \6 y9 b4 M
- ; http://php.net/date.default-longitude, w) y' D3 ~) u
- ;date.default_longitude = 35.2333
5 Y! x2 Q) P2 I$ m8 Y
1 ^0 k+ C3 r: j- k: W- ?; E3 I! c) p- ; http://php.net/date.sunrise-zenith( Q3 g1 c' G& w G! s( e4 r9 ^
- ;date.sunrise_zenith = 90.583333
, E; Z- j/ R1 Z& K% ?. R2 _
4 o" {& X% f% p2 m5 S- ; http://php.net/date.sunset-zenith3 k/ N& l. r2 X. n4 N" v
- ;date.sunset_zenith = 90.583333
H& P4 ~6 }8 B9 V5 U1 J - 9 v$ @1 \5 u( s( V) z h
- [filter]& X4 R# L7 B0 ]
- ; http://php.net/filter.default5 W2 B6 R% F) H" H, q5 I3 t
- ;filter.default = unsafe_raw
k7 Z4 D2 l6 A1 k' z4 p
7 @: u) p4 F3 b2 e( _1 r" M V, ?- ; http://php.net/filter.default-flags; _ P: x9 }- Y* R
- ;filter.default_flags =* r8 f2 F6 A1 a3 ?3 f
- 6 N4 N, b6 k$ X1 u
- [iconv]/ t+ ~6 K. F \, `
- ; Use of this INI entry is deprecated, use global input_encoding instead.$ j3 w7 z( [5 E
- ; If empty, default_charset or input_encoding or iconv.input_encoding is used.2 e0 I& j5 G+ z
- ; The precedence is: default_charset < intput_encoding < iconv.input_encoding; e3 i3 C2 |; |9 J5 Z+ j
- ;iconv.input_encoding =5 p% i! D* _7 H
. _3 f. e9 _/ q$ b- ; Use of this INI entry is deprecated, use global internal_encoding instead.
8 E, ^$ q5 W/ Y# } - ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
3 y, o- ~3 ^ `5 h3 m$ e - ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
2 N+ N6 Q S- U2 R' A) Y, [" @ - ;iconv.internal_encoding = ?, K, q; X8 D" ?
- ( f& \/ W0 r4 C0 i9 l( V( R
- ; Use of this INI entry is deprecated, use global output_encoding instead.5 p% B) Z% a3 X& v. e
- ; If empty, default_charset or output_encoding or iconv.output_encoding is used.
' }0 W: m! F. d0 q1 ^ - ; The precedence is: default_charset < output_encoding < iconv.output_encoding' d% |! B7 f( E& L' V: Q
- ; To use an output encoding conversion, iconv's output handler must be set L; K6 A1 p: q- h9 x
- ; otherwise output encoding conversion cannot be performed. u) ^; U" ?* ~6 V: ~8 M
- ;iconv.output_encoding =+ z6 }( g6 ~) E2 [+ c4 K
- & d$ s5 n7 i( ^, _5 U: T4 g* @; q
- [intl]
7 N) |) i7 ~6 r! V/ ^' ]( n- `6 G - ;intl.default_locale =
; O, `+ w% g5 D, ]4 V& c - ; This directive allows you to produce PHP errors when some error3 k! l' ~( X" H
- ; happens within intl functions. The value is the level of the error produced.
5 l/ T' V& r1 h) e - ; Default is 0, which does not produce any errors.) l+ D% x; U/ \, M& ?- W3 f5 }
- ;intl.error_level = E_WARNING
1 _4 M1 p0 h: d) O6 S - ;intl.use_exceptions = 0( i |4 w$ b2 M4 ] H' U
- 0 E" {0 B g$ N: a0 W+ V
- [sqlite3]% J6 b( u# m- n& g9 p
- ;sqlite3.extension_dir =" `/ f0 f/ U, A) x$ e/ s
& V6 n2 h; a% O# Q- [Pcre]
! [0 w- d7 M7 m6 H3 l! X - ;PCRE library backtracking limit.
# W- B) U- r _/ ^7 M6 z1 } - ; http://php.net/pcre.backtrack-limit
& D) K& n2 W8 o7 t" s1 p - ;pcre.backtrack_limit=100000
+ q3 B0 d, c0 E8 Y - / f+ V" K0 A6 p1 a
- ;PCRE library recursion limit.* w) J% X1 O# F% @2 Q& Y) k+ q
- ;Please note that if you set this value to a high number you may consume all' w! o$ C& h/ f% V# f* I6 C- H
- ;the available process stack and eventually crash PHP (due to reaching the
2 d: f4 q1 y7 F6 J - ;stack size limit imposed by the Operating System).
, g( S4 f4 g' J1 q6 w( l% _& C k - ; http://php.net/pcre.recursion-limit6 q5 Q' V; c3 j& Z; r
- ;pcre.recursion_limit=100000
7 _8 W1 J D5 y3 j4 g5 ?: f2 W7 O
. J" K# z% ^- E* p: }* J& Z- [Pdo]
0 v% ^4 J. a# l2 v$ E* O$ `4 V - ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
% L0 \' e$ t' N$ X' u2 V - ; http://php.net/pdo-odbc.connection-pooling; F3 P0 e, ~9 l; S6 i
- ;pdo_odbc.connection_pooling=strict; N1 Q6 F+ h1 o$ p0 i
3 a- h: L# n# |: N4 \- ;pdo_odbc.db2_instance_name8 A0 X6 m- n' J6 I( ]8 N% g, F
+ s" b M% W/ j! t& x; T7 i- [Pdo_mysql]1 {0 j5 i7 S8 [3 H" U: r/ A
- ; If mysqlnd is used: Number of cache slots for the internal result set cache
5 ^3 l4 x+ Q9 [ - ; http://php.net/pdo_mysql.cache_size
- L1 e( i+ M( T1 c8 \2 W - pdo_mysql.cache_size = 20003 q% Y; P) S3 a3 k; w# B
- ' v: }$ Y* V! G1 f6 {( E: L
- ; Default socket name for local MySQL connects. If empty, uses the built-in; C. Q/ d+ z# O: K
- ; MySQL defaults." Y$ _4 k- u$ G3 f
- ; http://php.net/pdo_mysql.default-socket
$ g3 n$ P* o6 ~; j6 R& L2 _6 E - pdo_mysql.default_socket=
U/ U% j/ ^' k; E% f1 u2 j - 5 j' H/ x# c3 F. T+ J
- [Phar]9 c) a9 g$ ^2 U8 o! f* m8 Q
- ; http://php.net/phar.readonly+ ^2 k6 z& M; F* R8 b/ \
- ;phar.readonly = On+ f/ E6 d- L+ G0 J/ {
) P. O+ ^8 q) Q- ; http://php.net/phar.require-hash
- c- Y7 a4 o6 q5 N4 p - ;phar.require_hash = On- }6 m/ n+ \! ~, |$ b* P$ l: ^3 K
5 }% p3 h; A3 V* A( @6 p/ T: R- ;phar.cache_list =
/ v5 h" d! p' k. f# a+ W d - ( \- d5 h2 s' C O$ B& j( C
- [mail function]* |3 o9 y5 j; o3 P: O
- ; For Win32 only.
5 K" d; u1 m$ w5 C - ; http://php.net/smtp
- u. K6 B) q6 M& s - SMTP = localhost4 e, R* W: L5 x! i" s6 ?
- ; http://php.net/smtp-port
. e7 w2 x5 D7 ?! T0 ? - smtp_port = 25
% w& i+ d& s# j$ K6 g - % ?& S/ S, a7 y
- ; For Win32 only.
0 `9 _; f/ Y% P) M8 C# u - ; http://php.net/sendmail-from
# i$ C7 q1 ^, K" q L - ;sendmail_from = me@example.com5 ] F5 Y& l! c5 M
; |( e! c) l' J- ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
3 C1 u' W& K) j7 ^5 H" H4 G" {) c - ; http://php.net/sendmail-path1 `2 g" r. M; A/ _# S$ G3 p' R2 e# K& @
- sendmail_path = /usr/sbin/sendmail -t -i" V8 O3 X3 X* _4 q
- ; @6 [9 B) z2 u0 m. Z6 ]8 P7 j
- ; Force the addition of the specified parameters to be passed as extra parameters1 E- z* \, w3 O. _
- ; to the sendmail binary. These parameters will always replace the value of5 W. @: O l& o5 ~+ g
- ; the 5th parameter to mail().5 i4 N( z/ Q' i: t6 h6 w
- ;mail.force_extra_parameters =
2 C; J0 {& F. L9 ^' g - 7 p4 X7 b0 ?% @% b& r
- ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename0 O2 H0 A3 l2 k& U0 ?" L- Q* O
- mail.add_x_header = On
4 B6 m& V' R2 Q- b' \, d9 q - : l; I6 E. C4 ]3 g
- ; The path to a log file that will log all mail() calls. Log entries include
/ \6 g5 Y: I1 u* Q) g, d - ; the full path of the script, line number, To address and headers.
5 a2 [' I/ P. o: c. [: K - ;mail.log =, |6 _- Z+ q3 _, t7 o8 q# Y
- ; Log mail to syslog (Event Log on Windows).
" F. g; ]# T# `7 w+ u7 R- R& f6 R - ;mail.log = syslog. v9 h7 q t6 i p- n S3 I5 C
- $ _8 _4 O) m* C1 T
- [SQL]* H# I$ K) f8 L5 W8 x
- ; http://php.net/sql.safe-mode$ o$ x, n v d5 v
- sql.safe_mode = Off
* o1 v0 }7 T, p. C/ m. M' s - : U& `1 Y4 C5 Q! {# v
- [ODBC]
+ ]' @# |6 l& D& l - ; http://php.net/odbc.default-db) _+ l" v7 Z3 k% X+ ^) U
- ;odbc.default_db = Not yet implemented
- B2 }+ a2 J6 r% t: X. \- h
: p* J D7 ^/ J' B- ; http://php.net/odbc.default-user) j/ \' c2 N' |* v
- ;odbc.default_user = Not yet implemented
( f( Z+ h$ E$ i9 a/ p
7 E& `& x: \9 R; W, P- ; http://php.net/odbc.default-pw
5 q# s) ^! S& h5 `& e. E - ;odbc.default_pw = Not yet implemented
2 A7 s. E1 x6 R% S- E! E - ! w# ]9 Y9 i& x8 v" D% S9 [5 Q* J$ L" Y
- ; Controls the ODBC cursor model.
2 A T/ x# F; N) v - ; Default: SQL_CURSOR_STATIC (default).
. l5 x6 ~: ^8 H3 d4 m - ;odbc.default_cursortype4 ~ q8 v8 D: j, J
- 8 ^6 H. c9 ?0 c6 U. H2 f) R) B) d
- ; Allow or prevent persistent links.
2 W2 X- K" D7 d; o1 s/ P$ x - ; http://php.net/odbc.allow-persistent& R- i7 W5 D5 V( O; K
- odbc.allow_persistent = On. I4 Z# x% [" f1 |2 I* U
- ; \" t& m3 [+ }2 u* ?
- ; Check that a connection is still valid before reuse.
% p1 S9 I; U# _ - ; http://php.net/odbc.check-persistent
6 p' b9 ?! g4 a" n3 k. }( P9 c - odbc.check_persistent = On
: d( a/ c2 p% X6 _: r
& Y4 Z5 \- w) O: B* @+ a5 u0 n- ; Maximum number of persistent links. -1 means no limit.
/ s& V( j7 j4 w- |0 m9 X- N/ e; T - ; http://php.net/odbc.max-persistent z2 R# g$ y! O1 b5 S6 g3 k
- odbc.max_persistent = -1
. U$ J: p1 m! d# K9 U5 _$ R! t - 4 X; @) j3 N, m7 U0 s
- ; Maximum number of links (persistent + non-persistent). -1 means no limit.' ?& U) ~7 R" Z% P; @: {
- ; http://php.net/odbc.max-links/ k6 o& ?; i% l+ N
- odbc.max_links = -1' D( T& P' h Q, ~3 J- H
( q: N: U- P; a8 j2 R- ; Handling of LONG fields. Returns number of bytes to variables. 0 means" e2 [+ l) W/ J# h% V4 s" g
- ; passthru.% _) @4 ^8 G4 W5 X% b6 U9 F
- ; http://php.net/odbc.defaultlrl. H2 F, }5 i2 A8 J$ H# T3 L7 B/ v
- odbc.defaultlrl = 4096% u+ e/ V: A' ~4 @: ~
* {, c' R& V' K& P4 \- ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
! F8 ]% @- p4 W - ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
& ^* f) B' D4 r! K - ; of odbc.defaultlrl and odbc.defaultbinmode+ C" m: t; B" i5 j
- ; http://php.net/odbc.defaultbinmode
, g9 i/ N# @2 P" E w h( d - odbc.defaultbinmode = 1
% L- y' W! c# g7 S2 o! m- c' M
o% ~0 H, s& O0 Q2 f& C- ;birdstep.max_links = -19 I7 ^1 L" ]* V* [
5 F' c' J( I; P- T- [Interbase]
" @0 H5 e- o- }6 _/ k - ; Allow or prevent persistent links.
! D! x5 Y3 h% O; l4 V# | - ibase.allow_persistent = 1
+ K$ V2 i! D6 e$ _$ D - ! H1 E5 T" P" e2 J
- ; Maximum number of persistent links. -1 means no limit.0 c3 Z! r' d7 ?
- ibase.max_persistent = -1
! D: j+ _/ {: w$ H, D0 s
0 l! ]9 B4 ^( S# s- ; Maximum number of links (persistent + non-persistent). -1 means no limit.
$ d+ ^* H" @! L8 I - ibase.max_links = -17 y; h. G% r/ \% q4 ~
- 6 n& J2 z, ?$ B( W
- ; Default database name for ibase_connect().( _5 s9 n- b5 j! I& ?3 s# A, m
- ;ibase.default_db =6 w: X' e+ ^( W# n7 E
- 1 F. P$ _5 ]3 [4 d& q
- ; Default username for ibase_connect().6 G1 N- [, D6 f; P9 U7 C: W2 F8 ~
- ;ibase.default_user =( H1 L& F6 A, b. Q* l# e
- ) u0 G! `' s- l8 N
- ; Default password for ibase_connect().
2 a/ Z! y8 h7 I/ L+ i - ;ibase.default_password =
' L1 d. m5 n6 e: R2 P9 l% q% c0 G6 ]
( X1 Q1 s7 a. K1 ~; S5 F- ; Default charset for ibase_connect().
0 p, i% P/ F5 f - ;ibase.default_charset =
( ^8 S, M" c% _/ U
; R; `5 z% j" B' I, ~- ; Default timestamp format.
( d8 R: }- g# K* O0 t! o - ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
! s1 I7 A+ m2 z" w+ W" v8 v
" r/ {3 U) ^' R. d" B8 r- ; Default date format.- D; e& s9 [% s' ?% O+ | [% o M
- ibase.dateformat = "%Y-%m-%d": v% D5 x/ ^7 u1 }/ j; O
- # j8 q) Y d+ c/ ? l
- ; Default time format.! c! C3 v% k6 [% i" j4 B5 e
- ibase.timeformat = "%H:%M:%S"8 V9 a2 b$ I$ Y
# N9 s+ M/ S. R0 g# [: C- [MySQL]
. }6 N; z+ o# A( @ - ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
& M/ E8 ?; R6 r) u, s$ ]% n - ; http://php.net/mysql.allow_local_infile
+ P# A+ K+ f2 U6 [% o1 H - mysql.allow_local_infile = On
/ B# i$ E" V$ U: q5 d1 {
9 Y: W6 D6 B9 g- ; Allow or prevent persistent links.9 C. C& @6 p' R |
- ; http://php.net/mysql.allow-persistent
% o4 \6 ]! b" F0 E C. q4 N1 _3 W# u - mysql.allow_persistent = On
& {4 [9 G+ z. {2 e, z
' A+ X; }% c8 f" i# ~- ; If mysqlnd is used: Number of cache slots for the internal result set cache- Z$ M* H/ q; a$ @' U5 u: M
- ; http://php.net/mysql.cache_size
0 ~ Z0 n! l/ E/ A - mysql.cache_size = 20009 U$ U F7 n# _5 V& E' m" }$ Z
9 m+ v7 b( K' |3 n( O/ Y- ; Maximum number of persistent links. -1 means no limit.$ a. O1 I9 m% ^( c; |# N v8 C
- ; http://php.net/mysql.max-persistent
1 p4 e0 O& u- @" j. E- X - mysql.max_persistent = -1* f3 H' z X" h; q* p
% j. l+ [# q$ P) h- ; Maximum number of links (persistent + non-persistent). -1 means no limit.8 K l9 N* H2 p! ~* h6 N! F
- ; http://php.net/mysql.max-links k0 z2 X) b+ @: F. k
- mysql.max_links = -1
3 I% o6 D C+ m8 {; S c+ d - 4 X( }" R$ F/ F$ f9 Z2 N# v
- ; Default port number for mysql_connect(). If unset, mysql_connect() will use: Z; Z8 K/ S3 d: U
- ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the* K" j* m+ y+ {
- ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
5 k) t) O% n, Q* n/ M7 y7 K - ; at MYSQL_PORT.. j( j9 C$ b% ~: r9 I2 [
- ; http://php.net/mysql.default-port
2 O2 w; Q& b7 C# E! y) e! r4 C) j0 h9 M - mysql.default_port =
* ~# B) K) p; {4 e& N7 _
( x. Y& S. g: I: s. c9 m: n- ; Default socket name for local MySQL connects. If empty, uses the built-in
% `. O' F3 i( j3 h5 B5 c7 ~, u - ; MySQL defaults.
9 T( c3 ]# L: K - ; http://php.net/mysql.default-socket
* c1 W3 l# n* W$ [- |8 t - mysql.default_socket =
. e8 \' [; E! m. M, @ - ' A( q$ f% X4 A
- ; Default host for mysql_connect() (doesn't apply in safe mode).% A D; }# B4 e4 L5 ?
- ; http://php.net/mysql.default-host' `7 W0 A* [; o/ Z$ s1 }8 ^
- mysql.default_host =1 h) h# K! W) A: V7 y
- 3 c1 c( m q! k4 O
- ; Default user for mysql_connect() (doesn't apply in safe mode).
4 D; [9 w8 V# M. p9 Z7 N1 h6 z - ; http://php.net/mysql.default-user
/ p) D. i4 y+ Y/ _6 [ - mysql.default_user =! ?% g+ s2 ]8 T
- * a" J5 L$ U( G+ W
- ; Default password for mysql_connect() (doesn't apply in safe mode).
5 \+ L% Y1 G4 R0 O# a$ S - ; Note that this is generally a *bad* idea to store passwords in this file." G* b- N; B% V5 n2 f: A2 y, h# i
- ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
! v1 M ~8 m* k: k( b - ; and reveal this password! And of course, any users with read access to this
$ e/ o w' r0 ] @ - ; file will be able to reveal the password as well.( n2 k# q8 m, u$ f5 c2 @8 g2 |& p/ W* {
- ; http://php.net/mysql.default-password
. ~ a1 k; m' ` - mysql.default_password =/ M+ ^2 K" \ Y( J9 r( S
- / F( e6 S# Y0 d5 b* u
- ; Maximum time (in seconds) for connect timeout. -1 means no limit+ V% H8 c7 c3 U! u
- ; http://php.net/mysql.connect-timeout
/ v0 O7 g/ ^7 h* _6 S - mysql.connect_timeout = 60
, j3 r& @4 q3 S2 s9 N - & k: L+ V* T# R9 Z9 k
- ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and6 e, m; {8 d. {$ ]
- ; SQL-Errors will be displayed.) z& r* ?3 r% ?3 _
- ; http://php.net/mysql.trace-mode
. ^! I2 G, H% d; f' F1 K - mysql.trace_mode = Off
4 g: {. q7 k5 O - 4 t2 c8 ?) R, I3 V1 V
- [MySQLi]% n9 S' E: N8 I+ ~& w8 F8 e
6 {( @0 j: q( Q2 A- m; B- ; Maximum number of persistent links. -1 means no limit.
6 ?" r) C7 A. s: I - ; http://php.net/mysqli.max-persistent
$ w( b& I1 c$ W3 ~; \% E - mysqli.max_persistent = -1
7 ~; ~* o" g! U
- |- I( G# _* g! ^4 B' h. p* O/ F- ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements" E9 w! X0 Q% q" Y
- ; http://php.net/mysqli.allow_local_infile% R' Z& n" B, e" h D! ^1 v. C2 v
- ;mysqli.allow_local_infile = On
3 w8 U- N+ @4 h* D- I7 _& Z - 9 P) G( S5 I5 J, D2 E2 ?8 o
- ; Allow or prevent persistent links.8 R" Q4 \5 K; z3 D# c5 Z
- ; http://php.net/mysqli.allow-persistent
: [* Z1 T) U* w$ b& T - mysqli.allow_persistent = On
0 C# c$ B% i; k0 G E" h" C - ! o& e" C: o3 M5 g: h4 V, R
- ; Maximum number of links. -1 means no limit./ e" }& {3 i# P! a- b
- ; http://php.net/mysqli.max-links
; V( C& N" I; Y* L- j - mysqli.max_links = -1
* S! I. Q0 Y6 j }& e
, t+ R, B' b9 v$ _- ; If mysqlnd is used: Number of cache slots for the internal result set cache" f! M# J7 \) f8 R8 b+ M; h4 {
- ; http://php.net/mysqli.cache_size
/ u7 X, P4 S& y. v% g) k7 a - mysqli.cache_size = 2000
6 D+ @! \$ L, o- X - ' f% k8 v8 F; ] m) J
- ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use: L3 _0 Q7 h6 E7 e5 S
- ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the7 \# Z/ v4 Q* C9 a% Q8 b$ @
- ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
* J) H- t! w# o# \+ X9 { - ; at MYSQL_PORT.
& |4 i- B! @4 T x0 o - ; http://php.net/mysqli.default-port( D) I# k$ C' q4 x% I- E. W( J
- mysqli.default_port = 3306( |8 e" u! ~1 K) V
- / K) u, Y, T: h7 b
- ; Default socket name for local MySQL connects. If empty, uses the built-in# W; x) @ _% H% |: W5 n
- ; MySQL defaults.6 v. d9 Z7 a- ^, r& n7 X1 u/ Z
- ; http://php.net/mysqli.default-socket
0 F: j, k" K, \- I) t - mysqli.default_socket =% A& K% E6 _' a n
- & l* f& E/ h1 F Q4 T$ U1 N
- ; Default host for mysql_connect() (doesn't apply in safe mode).$ j! S% w& h3 S/ p/ B
- ; http://php.net/mysqli.default-host& }& x; g4 j" j d# r k9 a
- mysqli.default_host =0 A0 o4 r! B! G6 A" h
- . W. |5 B3 C4 P6 I9 }' p
- ; Default user for mysql_connect() (doesn't apply in safe mode).
! W: P& h' R, K1 S5 L: w - ; http://php.net/mysqli.default-user
+ v- C" J) G b& h: D6 ]4 L* o+ c - mysqli.default_user =8 ?; }) k( z3 c; l* V* ` d) P6 S
- \5 d; O c" ]
- ; Default password for mysqli_connect() (doesn't apply in safe mode)./ I/ v1 x8 |2 L
- ; Note that this is generally a *bad* idea to store passwords in this file.7 B; d4 O0 |& [1 d/ ?* w1 R O
- ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")' U* K' `3 j F: d7 X9 S& u% F5 E' ^# e
- ; and reveal this password! And of course, any users with read access to this
& e( j6 T8 v: o( q8 i - ; file will be able to reveal the password as well.) W4 M0 k9 D+ m% Z$ d
- ; http://php.net/mysqli.default-pw$ {, G2 y* G% Z2 _$ c
- mysqli.default_pw =4 [% s( A- ^1 V( R* F
3 j* K% o1 `; O- J+ U# C7 S- ; Allow or prevent reconnect6 ]6 D% J5 g# F
- mysqli.reconnect = Off
5 |' k' ` N4 p- }+ C - % H4 @1 }, x2 b+ `9 @6 {) e
- [mysqlnd]4 W" h% g2 s: b
- ; Enable / Disable collection of general statistics by mysqlnd which can be
9 c1 p" j3 I& I- t' I/ X - ; used to tune and monitor MySQL operations.) a& ^/ \) S$ r# {- G- Z
- ; http://php.net/mysqlnd.collect_statistics
$ `6 t$ P* \% A+ `; x' |+ {9 X - mysqlnd.collect_statistics = On
6 B8 r" l6 |" D; a - , _ i0 w3 v1 R$ n! o3 m4 b
- ; Enable / Disable collection of memory usage statistics by mysqlnd which can be
9 Y9 R3 U( [! n" \: ] - ; used to tune and monitor MySQL operations.
6 `2 m0 ^7 ~/ \6 [6 [ - ; http://php.net/mysqlnd.collect_memory_statistics
# @8 K0 P% M+ i% h - mysqlnd.collect_memory_statistics = Off5 V- U( i2 y7 j6 v7 F- j1 S# b
' [6 P1 J1 Q) [/ y/ B- ; Records communication from all extensions using mysqlnd to the specified log
6 J9 H# x+ O# ~' B/ |# e0 \3 { - ; file.
/ Y7 ?+ C0 h. T2 V4 L% E& h4 t R - ; http://php.net/mysqlnd.debug
2 b0 c/ S% |5 w - ;mysqlnd.debug =( D: _, v$ K+ P+ y
( }" h, ]7 t+ x- q! G- ; Defines which queries will be logged.1 q9 P$ v- r( y) R8 {
- ; http://php.net/mysqlnd.log_mask
6 m3 h" _ I& q/ I7 f3 s - ;mysqlnd.log_mask = 0
& o% [7 ^0 Z* c( w) ?6 q5 i - " F: q3 Y5 \& ?, H+ E
- ; Default size of the mysqlnd memory pool, which is used by result sets.: H( m+ r' x7 M7 I( s- c4 B9 x8 `
- ; http://php.net/mysqlnd.mempool_default_size2 |- g7 A- c9 G8 U$ f6 d5 C! D; N
- ;mysqlnd.mempool_default_size = 16000
: @* a5 A9 A1 {4 U6 r. y- A: A - 0 l- `* w3 M4 F# |* }6 w$ z) O
- ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
# A3 Y8 D% e3 D) _" X F - ; http://php.net/mysqlnd.net_cmd_buffer_size
( A" w9 P! B$ P* X7 v$ f - ;mysqlnd.net_cmd_buffer_size = 20483 k, e d# K' y
2 G$ i3 l8 j/ }3 U2 I. n3 a- ; Size of a pre-allocated buffer used for reading data sent by the server in1 k: k3 ~# W+ B1 _8 M( T
- ; bytes.- J/ ?. K4 h$ X7 L ]. b
- ; http://php.net/mysqlnd.net_read_buffer_size& r1 T- o2 X8 K
- ;mysqlnd.net_read_buffer_size = 32768: v1 U2 D! l2 `; S2 R
- : L; a) x8 l: H
- ; Timeout for network requests in seconds.
" P( C k# f2 C" F1 L# s7 c - ; http://php.net/mysqlnd.net_read_timeout
/ F. m% P( T: s5 c2 P0 o# t- @ - ;mysqlnd.net_read_timeout = 31536000& d2 W* c) u/ A' W- s
- ' {' _7 G& e6 r' S# Z/ ?
- ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
; J' ~! X0 t9 Z& e* M - ; key.
' f; a' Q8 Q3 o1 O - ; http://php.net/mysqlnd.sha256_server_public_key0 s# m5 S3 y$ D) J: r& Y
- ;mysqlnd.sha256_server_public_key =4 y8 E; P; l9 F
- 8 i1 t' b x+ p. b4 J' P
- [OCI8]. P& Y6 A8 W5 u! y. ~
- * I8 G' F7 B+ m, y$ z
- ; Connection: Enables privileged connections using external
! z4 j7 w( A2 e0 d) { - ; credentials (OCI_SYSOPER, OCI_SYSDBA)( Y5 e+ R7 {; B8 k5 m" ^ l4 Z, h
- ; http://php.net/oci8.privileged-connect3 Z$ i& T2 ?% i4 `1 |
- ;oci8.privileged_connect = Off
6 P6 d9 n4 I( ]& x7 V4 q' t M/ O" N
! V, v6 P% A0 t' [6 P C; I: _, \5 ?- ; Connection: The maximum number of persistent OCI8 connections per' J3 q, h$ L# e# E. z% O
- ; process. Using -1 means no limit.' }, b+ l/ Y' w8 z2 ^: P$ R
- ; http://php.net/oci8.max-persistent
A6 |7 C* G/ H3 R! n4 T9 A - ;oci8.max_persistent = -1+ m( V* c3 m* y; D
. A: m, p6 u0 g! @# T: u( @ Q7 n1 `- ; Connection: The maximum number of seconds a process is allowed to5 D3 y$ h2 h8 W* e* C7 l' `
- ; maintain an idle persistent connection. Using -1 means idle5 B0 l4 m. }, ^) l
- ; persistent connections will be maintained forever.
, Z8 E, T, }- b+ y$ T. v6 L5 D - ; http://php.net/oci8.persistent-timeout' [9 Z( ~+ [$ b
- ;oci8.persistent_timeout = -1
6 X+ O, i* f0 D) N6 }) O* ~
; G( g, o/ x; n' g- ; Connection: The number of seconds that must pass before issuing a/ H7 { I# o, l3 h6 ]
- ; ping during oci_pconnect() to check the connection validity. When
0 p. m* Q; i3 i! M5 G - ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables$ q+ ^- |- P7 r, d0 S! k$ z
- ; pings completely.% ~' D0 }3 e+ A0 b+ D
- ; http://php.net/oci8.ping-interval+ i! `% @" p" |/ U9 }' W5 t
- ;oci8.ping_interval = 60
( q* E% X6 v- [8 N - ; b( o/ v2 a3 D# [, M" g9 n9 W
- ; Connection: Set this to a user chosen connection class to be used; O1 S( H* E( I1 N1 P+ c
- ; for all pooled server requests with Oracle 11g Database Resident# ^7 o Q7 j( D% U7 \! D1 N; Y5 H
- ; Connection Pooling (DRCP). To use DRCP, this value should be set to! X& B$ A' q2 T3 e* K
- ; the same string for all web servers running the same application,
9 ^3 i# Y) B& h7 c* I0 @7 u - ; the database pool must be configured, and the connection string must+ J0 |9 A% D1 ]' j
- ; specify to use a pooled server.
/ ]3 b7 G% @- {8 @9 n - ;oci8.connection_class =% Z3 L& ]# `! ]" D8 n; c$ B
e- ~% d: ]+ t P/ c- T- ; High Availability: Using On lets PHP receive Fast Application6 J# v* ^* \1 i$ Z; d
- ; Notification (FAN) events generated when a database node fails. The* A/ Y F( r+ p% L) s0 Q& T8 u& J
- ; database must also be configured to post FAN events.
) F+ z/ Z% Q y" h6 F4 X - ;oci8.events = Off( ^& W0 s7 C7 @( G
- , x. j/ O! ^. N- x. N2 h" G U- C
- ; Tuning: This option enables statement caching, and specifies how
7 i- ~% ^1 E* l0 l7 I0 [' s - ; many statements to cache. Using 0 disables statement caching.$ P" V& f( n; [5 b! e
- ; http://php.net/oci8.statement-cache-size& w+ \. A* ~+ ~0 `( s" O& f+ Z1 u
- ;oci8.statement_cache_size = 203 x1 r1 J* ^: S% L; r
5 i( R! v7 L' C1 [4 c! a- ; Tuning: Enables statement prefetching and sets the default number of
3 D2 ?) W- ~0 P - ; rows that will be fetched automatically after statement execution." f2 D. d+ ?, i$ x
- ; http://php.net/oci8.default-prefetch; F; s2 ?; B" ^' P
- ;oci8.default_prefetch = 100! |/ s9 C- l J, [
- ) ^1 _. N, @- O
- ; Compatibility. Using On means oci_close() will not close: }! i! S3 q( b* M. ]# F9 D
- ; oci_connect() and oci_new_connect() connections.+ C2 S- `8 P/ p# X6 c: s5 F& A
- ; http://php.net/oci8.old-oci-close-semantics
& e' z9 a, c' J n- b3 M - ;oci8.old_oci_close_semantics = Off+ L& {) |, U6 S9 N
- % J! Y% i3 E5 P9 F0 w: ]) F
- [PostgreSQL]3 S! U0 t2 n1 p }+ K `
- ; Allow or prevent persistent links.* t3 r" A: E+ q4 g. _0 ] h( N# h
- ; http://php.net/pgsql.allow-persistent
$ N5 @2 u* k. Q+ @* b+ a6 T% o - pgsql.allow_persistent = On/ Y2 B- L1 |+ k6 V& @3 e
- 9 o: H9 N9 L# h) o" S
- ; Detect broken persistent links always with pg_pconnect().2 c9 [7 j" Q* S' R# Q3 M; K
- ; Auto reset feature requires a little overheads.
- ~" B' C% b u - ; http://php.net/pgsql.auto-reset-persistent
- D1 [6 H4 C+ }# f6 \ - pgsql.auto_reset_persistent = Off
8 [# L$ G, | X5 o z) q- x9 d" s - 9 x' s3 P$ r$ {. c0 P& D
- ; Maximum number of persistent links. -1 means no limit.
1 F: {/ {; O! L5 h# y - ; http://php.net/pgsql.max-persistent
) [* ?# D. V. N# a- k - pgsql.max_persistent = -1& U) q3 r* F8 e5 N5 D% ^0 S# \
) s; O$ W* F: c* w `- ; Maximum number of links (persistent+non persistent). -1 means no limit., B; M3 k& v- Y/ X; R- [
- ; http://php.net/pgsql.max-links
4 F4 z, [/ ]4 j& F - pgsql.max_links = -1
1 e* D4 {% x+ b& B$ j/ g( \7 r4 { - 2 ], Q+ _; c* w; h- C
- ; Ignore PostgreSQL backends Notice message or not.
9 Y2 j6 D) r H' I" e - ; Notice message logging require a little overheads.
6 m e9 p a: j J - ; http://php.net/pgsql.ignore-notice
1 h+ K7 }' I" w& R - pgsql.ignore_notice = 0
0 E k* l3 y+ w9 y7 P/ c$ s
! j1 R2 {0 L* q: K) F5 C- ; Log PostgreSQL backends Notice message or not.
9 w J* s- J0 I0 I - ; Unless pgsql.ignore_notice=0, module cannot log notice message.
- G& d2 Z3 \4 j ] - ; http://php.net/pgsql.log-notice
2 ~: ]! D7 C7 ?( A' A! G! Y - pgsql.log_notice = 0
* x0 D9 H+ A+ u5 L' D& ~4 B7 C" l
9 b6 ~7 b3 G% W4 v# C- [Sybase-CT]
+ P6 |; g' z8 O9 F - ; Allow or prevent persistent links. M" l+ ^/ ?3 G4 U% g b
- ; http://php.net/sybct.allow-persistent; }) Y7 t) W c! E9 { Y ^
- sybct.allow_persistent = On& m! ?+ G0 M$ U& Z* a
- / k+ W' E' Z# Q! p5 j; V
- ; Maximum number of persistent links. -1 means no limit.3 n5 d. U5 T, o
- ; http://php.net/sybct.max-persistent1 }# g2 T7 q, w9 K
- sybct.max_persistent = -1
, A- U$ Z! \+ W: S - & Z% Y& M9 B+ U M8 _1 G
- ; Maximum number of links (persistent + non-persistent). -1 means no limit.+ g, Z% V$ v8 I8 o% m0 t
- ; http://php.net/sybct.max-links
! u. M+ B9 l% Z9 I& _$ Y& T3 @ - sybct.max_links = -1
9 |7 u' f3 W- n6 a% ~$ R/ F$ X! N - / d# `" i+ T) U$ o! w8 O O9 [, l
- ; Minimum server message severity to display.
+ h9 P' h( X1 a1 `8 x% q2 y) z - ; http://php.net/sybct.min-server-severity
9 B4 `+ v G; ^$ }6 B; i5 I - sybct.min_server_severity = 10
# T& ?1 n W2 |& I9 u9 h - * I; g* R/ }' S! i- [
- ; Minimum client message severity to display.
) l7 l0 }. {0 u2 \9 E1 P - ; http://php.net/sybct.min-client-severity: \* c2 \6 X* L9 w6 {0 q9 R V m
- sybct.min_client_severity = 10
6 a3 P) F/ b) p a4 s
9 D; X" ^ T1 M1 v. Z0 j# _$ F- ; Set per-context timeout1 t+ ~0 u/ ]2 k3 `* J0 B' f
- ; http://php.net/sybct.timeout
! M- E, B4 L. ~7 x - ;sybct.timeout=9 P5 N: U( F0 v: [4 i& R
- 0 T, \) A* K8 M5 i2 S
- ;sybct.packet_size/ ~6 s1 r' T9 Q5 M1 X3 E; h
' R+ p: f: d: F& a O- ; The maximum time in seconds to wait for a connection attempt to succeed before returning failure.4 t; i' l' \6 g& {/ o" @9 C+ g
- ; Default: one minute& d5 _& Z& B) L/ a. m3 n' R
- ;sybct.login_timeout=
/ q& |9 h( p$ v3 _+ d' E0 I - / D9 o0 z7 h* A3 d
- ; The name of the host you claim to be connecting from, for display by sp_who.5 } p/ d! M- J
- ; Default: none, j! ~6 r* U' F- x' p
- ;sybct.hostname=' q: A5 \: Y: R2 h0 T q
1 e4 K: [/ n4 N& @. R- ; Allows you to define how often deadlocks are to be retried. -1 means "forever".
6 g b: ^" `" G4 W; g8 d. t - ; Default: 0
. a( d" x- ], ~ - ;sybct.deadlock_retry_count=
! `& G a+ [: @, F" F+ e - % n) B. U/ c9 I% c M0 y7 o
- [bcmath]( J. @! ^& d* H# j
- ; Number of decimal digits for all bcmath functions.
- b, U/ v' p* Q: I/ a" ?6 w - ; http://php.net/bcmath.scale
& s2 X& I! Y# u" q7 M1 h3 x' x - bcmath.scale = 0
* a& F+ c1 {9 `" J
% h# q+ I. n; c, y$ j1 r- [browscap]3 W/ u/ ^* b- Q2 G
- ; http://php.net/browscap
. x) E3 D" a- E; z1 n - ;browscap = extra/browscap.ini$ t8 K' p) a- l* e- x2 W4 ]
: W* R) D* a) m5 k$ f- [Session]
- p% j$ C) v! x+ S" i0 { - ; Handler used to store/retrieve data.
, l/ @1 P* M5 C0 {) ` - ; http://php.net/session.save-handler
+ D2 p( c9 a, S* v - session.save_handler = files
" [1 y4 E0 k: S7 ~: e0 {5 y - 5 `6 a; {( C6 l% I
- ; Argument passed to save_handler. In the case of files, this is the path
1 f* ~+ l9 C& x, h- Y) l - ; where data files are stored. Note: Windows users have to change this) a) P8 O5 \8 d5 v' Q: ?
- ; variable in order to use PHP's session functions.! c v- A% B9 G
- ;, F# n& |( J. C, r4 i
- ; The path can be defined as:+ k/ P- k# I$ S8 @$ M& ~
- ;
5 I8 z7 j# d" N - ; session.save_path = "N;/path"+ ~ B- Z* E3 t& n/ N$ x8 h
- ; }( o$ P( \& p/ u; Q% ]
- ; where N is an integer. Instead of storing all the session files in
( K+ w0 w4 [- g' s( t1 U% m) H - ; /path, what this will do is use subdirectories N-levels deep, and* p i% A9 P1 Y5 J, K/ k# }
- ; store the session data in those directories. This is useful if( d2 i$ W; n1 J9 H4 q8 R
- ; your OS has problems with many files in one directory, and is
; J9 m) H* H6 J) ~ - ; a more efficient layout for servers that handle many sessions.
) R- w# E+ f5 c9 l1 P- [ - ;
' Z2 S8 a2 L0 R6 g - ; NOTE 1: PHP will not create this directory structure automatically.
* f- o% U9 w$ c4 A - ; You can use the script in the ext/session dir for that purpose.* c5 L; T+ M. }6 C, ^, i h( n
- ; NOTE 2: See the section on garbage collection below if you choose to
- U! \4 C: `0 ]* {. z T$ V - ; use subdirectories for session storage4 b9 }% t. L) K" P+ }1 j9 m
- ;
7 |% H0 b5 L8 C4 G, ]. K2 ?" o - ; The file storage module creates files using mode 600 by default.
$ t, f% Q( `" u. `) w5 S - ; You can change that by using
* j6 w0 _7 \; D. b6 Q/ e% _% T) X - ;
. ^/ n+ g7 t) d2 k' O& A. U. T/ k: \ - ; session.save_path = "N;MODE;/path"6 a: B% U* T! I5 A& |8 g' V# ~4 v
- ;
) q9 Q! f! w( Q' \! k - ; where MODE is the octal representation of the mode. Note that this
4 P9 D& A) Y: c0 q. A/ V - ; does not overwrite the process's umask.
- g0 j7 R2 G! s9 j ?( B! X - ; http://php.net/session.save-path+ `, R- X1 H* L3 z* R7 Q
- ;session.save_path = "/tmp"# n4 |/ m, v6 V2 J0 {
: R% q9 y w5 w& `* V! t% `- D- ; Whether to use strict session mode.
6 \. U- _4 `& x5 K! _6 t - ; Strict session mode does not accept uninitialized session ID and regenerate1 {& H; V- f) ?
- ; session ID if browser sends uninitialized session ID. Strict mode protects
B2 k0 m8 \! e: k: B - ; applications from session fixation via session adoption vulnerability. It is, h" a0 P: v, \! U% G' ]) T4 j. E
- ; disabled by default for maximum compatibility, but enabling it is encouraged.$ i7 S& _+ m4 e1 f0 X6 b/ G2 p
- ; https://wiki.php.net/rfc/strict_sessions
8 ~! w' e1 O# j1 f! } - session.use_strict_mode = 0
$ h! a9 J: x! m$ u3 q5 T$ e
$ c6 H; e" k9 I3 n- ; Whether to use cookies.7 g- w' _8 Y* j% m6 P! k3 @
- ; http://php.net/session.use-cookies
* p- `- G# H- `2 X$ b0 T - session.use_cookies = 1
) [& `7 [6 n3 m6 E1 ? - 3 R. i$ q/ @6 W
- ; http://php.net/session.cookie-secure
2 a6 {1 x* I; \2 J. V9 s - ;session.cookie_secure = _6 D9 t: L$ s5 d8 H
- 3 b6 q, h" W3 a) U
- ; This option forces PHP to fetch and use a cookie for storing and maintaining0 u) V9 g7 C: i A" m. ]- z
- ; the session id. We encourage this operation as it's very helpful in combating- ]" \# m% C% Q
- ; session hijacking when not specifying and managing your own session id. It is6 ^) ?/ @2 \. t- o |
- ; not the be-all and end-all of session hijacking defense, but it's a good start.
5 k" x# W: h0 K5 o: M - ; http://php.net/session.use-only-cookies' ?* G8 A7 `: z
- session.use_only_cookies = 1+ \1 }7 m7 n% `4 t! Z' v
- ' Z: p. H: t5 T' h2 w5 c5 R5 ^3 q
- ; Name of the session (used as cookie name).
l a( y" k$ p: ?0 K - ; http://php.net/session.name
: Z) j8 e* D& l2 M% e4 Z - session.name = PHPSESSID
- T2 T9 t. \* ]
# t! B$ v v6 @% F* p- ; Initialize session on request startup.
+ Y- V) @) |, Z) e - ; http://php.net/session.auto-start
' \& q7 _; N- ?1 j/ P$ o! z - session.auto_start = 09 @, p1 b9 M; F( ]0 s$ M: n% _
- ' }. i8 I( o) ^: p2 E5 `
- ; Lifetime in seconds of cookie or, if 0, until browser is restarted.% d3 J3 ?' E0 [
- ; http://php.net/session.cookie-lifetime* ~/ E( r" C- v U+ V
- session.cookie_lifetime = 0
/ j+ c& N$ g A - 4 Z) f/ r( s) @3 W! C! S" E
- ; The path for which the cookie is valid.
2 r, C. H2 p; q& O+ v, K1 S B# S0 H - ; http://php.net/session.cookie-path
' R, c. a. ^7 ]4 A& f0 K" D( v - session.cookie_path = /
+ ?- Z# ^- i) D1 H - , j( c8 k+ I1 ~
- ; The domain for which the cookie is valid." s' {4 _8 e/ N3 K& N$ s
- ; http://php.net/session.cookie-domain
" a+ ]" C& g; ? P5 X) c1 R' H- p - session.cookie_domain =) S+ ]) D4 d v
- : W" H8 G* T' l1 `2 r
- ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. W! S) n# ]* B7 V& J: G
- ; http://php.net/session.cookie-httponly2 N j/ J3 T( C- N$ E* Z
- session.cookie_httponly =
{+ _+ X V, v- P. ]# @) F2 V
5 u X5 j1 T/ U% E4 E- ; Handler used to serialize data. php is the standard serializer of PHP., R; I1 Z- Y% j
- ; http://php.net/session.serialize-handler. M+ C/ R; o7 _& E1 g# E4 q
- session.serialize_handler = php
7 e$ n6 s9 D* ^5 S2 ?# P& M* _
- y. m3 W$ ]+ T& k- ; Defines the probability that the 'garbage collection' process is started
" M0 B2 F3 N- y5 ]3 D" F - ; on every session initialization. The probability is calculated by using
' A& }; R% b/ i5 ? - ; gc_probability/gc_divisor. Where session.gc_probability is the numerator; w, Q% q. w: m! I* k
- ; and gc_divisor is the denominator in the equation. Setting this value to 1, b" _( f7 s& Z8 N
- ; when the session.gc_divisor value is 100 will give you approximately a 1% chance, l, y P; ?( M9 _9 G
- ; the gc will run on any give request.+ |! x3 M, i! | X4 Z) q0 n' K% U7 f
- ; Default Value: 1- \/ B' {" h+ z
- ; Development Value: 1
2 ]. X( q+ R/ J - ; Production Value: 1 v: ~6 Y$ y2 f
- ; http://php.net/session.gc-probability8 C7 }$ T, p1 E6 B4 I
- session.gc_probability = 19 M1 p7 M9 ]4 @
) Q! k @& G( W8 D5 }1 A% c- ; Defines the probability that the 'garbage collection' process is started on every
: e3 k9 D. {. D - ; session initialization. The probability is calculated by using the following equation:
5 I; g4 a1 p+ D: Z# P: M. O - ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and6 `$ `* c/ H6 A' e$ {
- ; session.gc_divisor is the denominator in the equation. Setting this value to 1
' n$ p. g6 [" X/ N - ; when the session.gc_divisor value is 100 will give you approximately a 1% chance
: d/ c/ k9 } B; O6 L - ; the gc will run on any give request. Increasing this value to 1000 will give you' k |3 V! L) c2 j9 A0 q+ `) v1 c: R
- ; a 0.1% chance the gc will run on any give request. For high volume production servers,* m( j7 N& S- z6 k+ N
- ; this is a more efficient approach.1 z% Q$ C9 o+ h
- ; Default Value: 100 ^! R1 v' O% H) I# i1 O. [. B
- ; Development Value: 1000
% r0 L8 S" t( v# |0 Z - ; Production Value: 1000
7 L8 Y7 T0 x! x9 R) g - ; http://php.net/session.gc-divisor) e* o4 z1 u' c# Y9 E
- session.gc_divisor = 1000. ~1 J+ V7 n$ u, [+ n, n
: \. }5 R+ ]6 B2 j2 U6 r- ; After this number of seconds, stored data will be seen as 'garbage' and9 o; b' R5 p6 B. i ~9 [& j4 z* ?
- ; cleaned up by the garbage collection process.
; \( Z6 ?* m6 H/ x$ b, W! ? - ; http://php.net/session.gc-maxlifetime
- A. b/ n4 Z& ^& y# s( d4 M; d: Q - session.gc_maxlifetime = 1440
. m$ c0 E3 b W& _# J T7 B
; g* y& m3 }, Q- ; NOTE: If you are using the subdirectory option for storing session files C/ T. F7 A W0 n# a
- ; (see session.save_path above), then garbage collection does *not*
1 o/ C& l8 R6 F/ }7 K6 J5 n - ; happen automatically. You will need to do your own garbage9 K5 ~4 u0 F. [" Z+ ?, V; w
- ; collection through a shell script, cron entry, or some other method.0 e$ ~+ V3 _. n( z2 h, d# Z
- ; For example, the following script would is the equivalent of
$ `9 g R" x, {! S - ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
0 z. g/ s S- c; f - ; find /path/to/sessions -cmin +24 -type f | xargs rm9 @3 g o5 w& M6 E- v- C1 j
- 8 x0 m) Q; |# P3 k; W! \& m7 c
- ; Check HTTP Referer to invalidate externally stored URLs containing ids.; }7 R( i4 T) n9 `; X) c9 C
- ; HTTP_REFERER has to contain this substring for the session to be
! r. G# B x2 i% @# { x - ; considered as valid.1 K' K4 W8 D- B/ Z3 G
- ; http://php.net/session.referer-check
, i% i6 n1 H7 a+ o7 }1 d - session.referer_check =
" o# {% J9 k; D8 _( R
" q5 b' g0 C! Z2 }5 u- ; How many bytes to read from the file.; b0 S" ~" w9 ]3 J ]; B
- ; http://php.net/session.entropy-length I* A: I; D& O
- ;session.entropy_length = 327 D& e$ O( |3 j. s2 a
, w, D0 v; r A; ^5 k2 T* |- ; Specified here to create the session id.
0 c8 i0 A I/ G; ?! A" X$ j; P - ; http://php.net/session.entropy-file
) o! D/ ]( w; p. S4 U - ; Defaults to /dev/urandom
9 f9 T) o* @( t$ p - ; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom6 s; M Q- L3 ~# d# D# \
- ; If neither are found at compile time, the default is no entropy file.
8 p/ z; ^: V% d8 J6 l: N7 i - ; On windows, setting the entropy_length setting will activate the
4 [0 N+ w4 n# V, T% Z4 l( ?+ n3 F0 h - ; Windows random source (using the CryptoAPI). b+ s) \% k& J/ v9 W+ W2 k
- ;session.entropy_file = /dev/urandom& H' { {# m; L F$ Q
+ {% a0 n" t1 z- I0 w/ _% U3 E% I- ; Set to {nocache,private,public,} to determine HTTP caching aspects
, D3 c* x7 ?- o0 ]! w7 u - ; or leave this empty to avoid sending anti-caching headers.4 Y! b0 R7 D1 k4 u2 V
- ; http://php.net/session.cache-limiter: j5 _# V$ R% l+ [" h0 ~4 V9 n
- session.cache_limiter = nocache
E: `1 c- N6 H1 c2 N
) h- ?; s* |9 n- ; Document expires after n minutes.
2 c G; z3 D* x" m% F - ; http://php.net/session.cache-expire
+ N& E$ @- U Y9 `: Q8 y - session.cache_expire = 1804 \1 {1 s. p q# R* j3 n$ G O+ S
- 5 d4 {8 S: T% C5 `
- ; trans sid support is disabled by default.
l0 e4 ?4 o! [7 W5 S( V/ a9 g* N8 y - ; Use of trans sid may risk your users' security.
! |5 O$ ~' D$ E" k5 n - ; Use this option with caution.
$ s% v9 V+ S% a0 p - ; - User may send URL contains active session ID
5 l/ l) h t& ] - ; to other person via. email/irc/etc.$ {3 t1 C, s" L5 a. a2 @
- ; - URL that contains active session ID may be stored
! L+ M% @4 G( Z5 z y( B - ; in publicly accessible computer.
9 ]% U9 s6 G1 d7 d - ; - User may access your site with the same session ID
$ _+ D/ X q/ g ~. f @8 G7 \7 } - ; always using URL stored in browser's history or bookmarks.
/ w% t5 l* X% n- a/ r, @ - ; http://php.net/session.use-trans-sid
) ^3 ^/ w$ X A$ I, s6 h+ t - session.use_trans_sid = 0" r& `4 v e( {0 `. r6 Y
* j- s# ~- R, Q1 d9 P, y- ; Select a hash function for use in generating session ids.# j u3 ?# H/ v8 {
- ; Possible Values
/ p9 c! ]% m5 ~2 F! Q - ; 0 (MD5 128 bits)+ D+ W8 |# D: _# N- h1 s' C# D
- ; 1 (SHA-1 160 bits)
5 @9 T5 u3 Z% D0 W5 ~* e8 s - ; This option may also be set to the name of any hash function supported by4 h/ P, K; Q7 Y7 B4 o; v
- ; the hash extension. A list of available hashes is returned by the hash_algos()
5 t, w6 E* A, y" f& r# z9 P& G! p - ; function.. c C8 |7 o) T
- ; http://php.net/session.hash-function* z0 L1 X- R3 L6 e/ Y$ `
- session.hash_function = 05 N+ r7 K! c2 N: \! r, m
- $ Y! Y- _3 ]3 C w
- ; Define how many bits are stored in each character when converting
! g% f$ h4 B- B - ; the binary hash data to something readable.
( [9 r0 W4 M2 ]0 A( S1 M/ r - ; Possible values:
, j" N) Q/ |, e8 r( F2 I! I3 M! c - ; 4 (4 bits: 0-9, a-f)
. G3 g. w/ R% [5 y$ d - ; 5 (5 bits: 0-9, a-v)
4 F9 e8 R: u) a" _; h, s6 ] - ; 6 (6 bits: 0-9, a-z, A-Z, "-", ",")
6 E( R. x7 K+ W3 l - ; Default Value: 4
# O6 Y% A/ h) A - ; Development Value: 5' |9 r" e- M. s4 o# u
- ; Production Value: 5
) Q' \) B1 _% n- G f2 ^7 g+ W; F- W - ; http://php.net/session.hash-bits-per-character2 ?9 K# `1 n9 J: Q1 s
- session.hash_bits_per_character = 5
! @; T9 m4 ]( `5 M& h - 7 z9 d( q6 {: L0 z U! z
- ; The URL rewriter will look for URLs in a defined set of HTML tags.
7 |/ Y4 v' d" n( f& q4 E# u" V3 A - ; form/fieldset are special; if you include them here, the rewriter will- M( Y d( L1 Z( v5 o; L0 T0 i7 ?- o
- ; add a hidden <input> field with the info which is otherwise appended+ d* k) D' r9 z, R# r4 P
- ; to URLs. If you want XHTML conformity, remove the form entry.) y& x3 D! z+ i
- ; Note that all valid entries require a "=", even if no value follows.1 C; S: f: Q- c
- ; Default Value: "a=href,area=href,frame=src,form=,fieldset="; P9 v% _% _9 v, I
- ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
$ j& v! O5 m2 P# t- b5 z$ Y - ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
& a3 r$ I6 U* K6 p! B$ z4 G/ z8 n8 ? - ; http://php.net/url-rewriter.tags; l) |( j% J3 A2 H, `! X% K: b. ?
- url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
3 e& l! a/ r4 C/ a - 8 D( T" s; R3 ]3 d, n4 f! Z( V
- ; Enable upload progress tracking in $_SESSION# L! H7 B; j2 U' R' y A+ W
- ; Default Value: On& W$ W# y3 O" I6 `0 y
- ; Development Value: On
$ e* G. `3 T4 e6 n2 |) {8 [ - ; Production Value: On# t2 _; z- f" ?4 ?9 Y$ J+ B
- ; http://php.net/session.upload-progress.enabled- l3 Y2 B% R; n3 P8 u8 P9 W
- ;session.upload_progress.enabled = On# K$ }% m7 Z w4 D* w
: K e# m8 h, _: `$ P0 C- ; Cleanup the progress information as soon as all POST data has been read
) I. N3 J$ \* R; F: l - ; (i.e. upload completed).8 j: u) f& Q, N
- ; Default Value: On
9 M1 r7 t: @, A) v2 F$ t! i - ; Development Value: On% Y I, u) d8 @- s4 r
- ; Production Value: On
+ g( v5 V) Y3 V1 A: \7 f. O3 L - ; http://php.net/session.upload-progress.cleanup
6 }# w. @& q2 e# o6 _- t - ;session.upload_progress.cleanup = On3 L+ N4 A2 A' o% n
2 k6 Z2 {4 ~$ B) W; x# ?- ; A prefix used for the upload progress key in $_SESSION. x) \+ \: j$ x y
- ; Default Value: "upload_progress_"0 S( N& S$ T! B* g7 Y6 I
- ; Development Value: "upload_progress_"
; Q1 E, b, G: K2 F: X& L' [; Q6 j - ; Production Value: "upload_progress_"! f: }( L4 P# `' R% H1 N
- ; http://php.net/session.upload-progress.prefix
. @& ?: _& Z! r$ y8 z. a - ;session.upload_progress.prefix = "upload_progress_"* a7 y/ F. Q! {8 x
% u, C$ b- q3 ]: m% V- ; The index name (concatenated with the prefix) in $_SESSION( X; X) [% l y" G! R
- ; containing the upload progress information- r6 ~, N; D3 J; q' d8 f4 W; |
- ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"0 Y& r9 N# X0 `5 u: T
- ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
* q5 S, p$ I q+ R5 [- [ - ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
! ?0 K# y* y" d) U( Z - ; http://php.net/session.upload-progress.name% O) {1 ~3 X. y g2 o
- ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
# v* R" S' f% u9 E, u3 w
& Y! P% s! [" v8 p3 W+ Y1 `- ; How frequently the upload progress should be updated.4 Y# o |3 c% R
- ; Given either in percentages (per-file), or in bytes# r' Z- p, I; S: n4 v0 H
- ; Default Value: "1%"
0 ]9 @+ f- }9 V; S9 g - ; Development Value: "1%"! s0 M) H9 [# H' p8 J. k: `
- ; Production Value: "1%"$ o0 Q, Y9 [3 A9 x) }5 h
- ; http://php.net/session.upload-progress.freq
8 |) A; `+ g" I7 z - ;session.upload_progress.freq = "1%"
6 }% ?$ e9 Q, |- }1 y% q. k9 w - 4 N+ P3 N, t" a2 s, Z$ E$ n
- ; The minimum delay between updates, in seconds
: G4 g3 l `. I- b+ b - ; Default Value: 1
, o5 b0 e3 q# e2 z- |' F# L9 {& u - ; Development Value: 18 c1 K5 r( [" C" X
- ; Production Value: 1+ |* [7 U1 f+ n4 R U
- ; http://php.net/session.upload-progress.min-freq, m4 m, A1 x) \4 K8 i( c
- ;session.upload_progress.min_freq = "1"
5 ?8 d: W, |# Z; a8 f' u C$ s
: n( F9 w" F) U7 Y- [MSSQL]
K$ x8 y0 n7 Y1 l+ x: M" E! W - ; Allow or prevent persistent links.8 i y$ ^3 z. R& f* x, I' I
- mssql.allow_persistent = On& `3 C7 L7 l8 D4 g
- 9 ^' t5 A" z/ v: w- b! X! g& Q
- ; Maximum number of persistent links. -1 means no limit.
7 W G) V$ M: b - mssql.max_persistent = -1
: G; B. R l+ ^0 v' [
5 I' R- O4 N8 o- ; Maximum number of links (persistent+non persistent). -1 means no limit.
" B3 l9 L4 l z+ `& b+ P7 T4 C - mssql.max_links = -1; O8 L, C& j& F
- 1 I1 v, Y" h' L+ j
- ; Minimum error severity to display.
3 ^; X" s9 {+ E6 G- w - mssql.min_error_severity = 10
: G6 O8 {0 ~6 N3 b, a$ k5 Y - 5 H- N h8 A* H0 q( r
- ; Minimum message severity to display.6 V9 ?" q* M/ r, Q. |4 v8 V
- mssql.min_message_severity = 10
) R. S, ?' C0 L+ w, {" w$ n' X" |1 j - , |% R3 H& X; D& H* p6 l9 `
- ; Compatibility mode with old versions of PHP 3.0.+ L/ p% m, w# X
- mssql.compatibility_mode = Off
|8 W6 H9 \4 G, ]/ M) f$ M! }
! D# @9 e% w! ]6 \7 B' s* K9 s- ; Connect timeout
1 S% e5 X% T: c+ J - ;mssql.connect_timeout = 5' r, L5 ?5 D# W) K* y. r
) O" F/ l5 L$ x# |; `- ; Query timeout4 d! ^! f& J0 m& i6 L3 D, f
- ;mssql.timeout = 60
" i" w7 u2 }8 ], w2 r6 D) ]% {5 L - & L3 |1 W( m* B
- ; Valid range 0 - 2147483647. Default = 4096.
9 B" h1 T; F* T b: B - ;mssql.textlimit = 4096
) J" E# Z) u, J9 B* x
' a, W+ ]# `$ a5 [- y& V4 f1 Y. I2 M- ; Valid range 0 - 2147483647. Default = 4096.
9 k, b6 m9 S/ T# _ - ;mssql.textsize = 4096
9 A; J$ t2 ~, V& y9 g7 F - $ e. x) I7 T/ Q+ L; g+ F2 M
- ; Limits the number of records in each batch. 0 = all records in one batch.: \/ e- A) n: c3 a6 }
- ;mssql.batchsize = 0
5 c2 q, u+ m7 l- y
$ t5 N- W2 C6 \# R( W- ; Specify how datetime and datetim4 columns are returned; [: U" a; Z' F
- ; On => Returns data converted to SQL server settings6 U3 y# r: d6 O6 h
- ; Off => Returns values as YYYY-MM-DD hh:mm:ss
7 G/ H l; \3 i" E2 _ - ;mssql.datetimeconvert = On2 z9 S* K3 C! _
- " {) V' o* b6 M( W" W* @1 G
- ; Use NT authentication when connecting to the server
6 ^* U/ `( q' G, o: B3 _ - mssql.secure_connection = Off- D3 X; s: H$ } {; x5 H
, [. T% U8 `, f6 Z; t. v( ?* b. C% ~: b- ; Specify max number of processes. -1 = library default
# I! `# j. U0 [) Y# Z) n7 P - ; msdlib defaults to 25: i( b4 Z+ ?4 b+ q- A* y0 O: U
- ; FreeTDS defaults to 4096+ b! R. M( w; v7 L8 |
- ;mssql.max_procs = -1
6 {4 j: p6 d4 u+ r+ o5 F - ' |1 q3 G* S, T6 t, D
- ; Specify client character set.
! w# J0 h4 k, @& }; d/ D - ; If empty or not set the client charset from freetds.conf is used9 y& B8 A0 v0 y- s: k I
- ; This is only used when compiled with FreeTDS
& S* }# Z1 S L4 E0 m N& w5 q - ;mssql.charset = "ISO-8859-1"
5 V& U- R+ }4 U# T6 A$ {. q - ; N; U) t5 j6 Q# ]4 e2 Y" [& O
- [Assertion]/ k: n2 U7 y7 l; ?5 a( u4 q
- ; Assert(expr); active by default.0 I q8 G. e* |* G2 j Z
- ; http://php.net/assert.active
u9 f3 l2 W* D - ;assert.active = On
9 E: S8 {9 {4 F6 k! |: M1 T, ^
( m0 b0 \3 Y7 F1 R% B) R+ S- ; Issue a PHP warning for each failed assertion.( N& a* u( m3 ? H$ m* y
- ; http://php.net/assert.warning
$ h6 ~( P q8 j( d2 I1 [% ]$ y; h - ;assert.warning = On2 V5 B/ D0 J1 \8 E5 E
5 G* y: |+ }3 B( \. H: M- ; Don't bail out by default." B7 b/ K4 T, G3 O, A" m" f X
- ; http://php.net/assert.bail5 \) M) E% {! M! T8 l2 o, S
- ;assert.bail = Off! u) G7 u9 {4 ^- S+ @
- ' B7 A) O6 }. @2 M' n
- ; User-function to be called if an assertion fails.! e8 N* m s7 o+ T5 g
- ; http://php.net/assert.callback
* C+ t9 W' W9 C: x' i$ h1 \5 f1 w - ;assert.callback = 0
# {" P' m2 U3 f" p! c: p* `5 Q
0 e) j$ E2 m/ ]) {- D2 |9 P- ; Eval the expression with current error_reporting(). Set to true if you want- d0 P, p* C/ }4 ^* a
- ; error_reporting(0) around the eval().
/ d" a6 d0 _! v# `/ t9 W - ; http://php.net/assert.quiet-eval5 G" k& Q, I/ B7 ?" X/ X* a1 D
- ;assert.quiet_eval = 05 P7 f- G3 W* z/ L5 r
- % r \( k+ W1 ]) \
- [COM]
( B' Q! m- z7 s/ S7 _0 o5 z b - ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs' `* t8 L3 J( E. k6 P
- ; http://php.net/com.typelib-file5 @: ^/ i# y& ~; J% J
- ;com.typelib_file =
6 {6 C ?% H5 R& A. u% I, {+ o
& D7 m3 h3 e( W$ N4 H. o- ; allow Distributed-COM calls
" `, x" p7 A+ {: ~9 v - ; http://php.net/com.allow-dcom
1 L8 {6 X: Z* G, e3 y6 \4 f - ;com.allow_dcom = true
/ H3 r2 j, v% _0 B
3 |7 m7 Q, C4 K) ]( z% T- ; autoregister constants of a components typlib on com_load()3 o) b; ]) V9 y! j. J6 D$ _; l
- ; http://php.net/com.autoregister-typelib7 e' I2 W2 ^- c$ u3 u1 v
- ;com.autoregister_typelib = true
L! M3 f# P6 e$ J: |- G2 E - 7 j& }/ A- {' b+ f% c7 [; H
- ; register constants casesensitive/ M! W4 W/ q, `9 x( M! J) `1 K2 K/ a
- ; http://php.net/com.autoregister-casesensitive" u0 E: w1 i, K% y$ s
- ;com.autoregister_casesensitive = false
* M1 v* [8 G4 ?7 g. H" N
2 q/ {+ ?, D# I- ; show warnings on duplicate constant registrations
1 ^4 N* r, T" k2 I - ; http://php.net/com.autoregister-verbose
# X% P1 p3 |1 a! a) a( P - ;com.autoregister_verbose = true
# d# m2 I9 ]. R. V, Y - - I) c9 l0 P% g* d; y6 [
- ; The default character set code-page to use when passing strings to and from COM objects.2 R2 j5 }( F0 L+ s- {
- ; Default: system ANSI code page+ I/ [ ]8 `, ^! z3 j8 t
- ;com.code_page=# D2 }$ H- O o8 _) C% {2 C9 \) a
3 v) G+ R- [! x+ E; S3 T- [mbstring]# U0 j/ s" u( @, m* z
- ; language for internal character representation.
. r/ f/ I9 w( x! @1 S - ; This affects mb_send_mail() and mbstrig.detect_order./ o8 W6 J; B9 k
- ; http://php.net/mbstring.language. e4 f5 v: h4 Y% r* h
- ;mbstring.language = Japanese: o8 ~* v# W% W/ _$ w
, y+ _# B6 o- G/ w9 S4 x1 Z4 T4 V- ; Use of this INI entry is deprecated, use global internal_encoding instead.
8 h0 w. v1 Y% j T5 u) I4 a - ; internal/script encoding.
5 J' G4 l/ K8 v& C; C( x - ; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)* P1 y9 Z) t7 x0 Q' m! }+ a! N( z
- ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
8 B6 S p A, ?5 S, Q* c - ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
* \, T# a1 v2 a% X: Z - ;mbstring.internal_encoding =' u! [+ m; F+ L5 u, {& o8 b
- " n7 t9 x; W* A' M6 f; ^9 g" p! C
- ; Use of this INI entry is deprecated, use global input_encoding instead.
# G5 J1 u% ^, X4 U9 A6 B, W; Z9 b3 ? - ; http input encoding.8 E. A$ P6 e0 l) i8 ]" b
- ; mbstring.encoding_traslation = On is needed to use this setting.
0 q+ ]4 X# O8 i) ^/ ^5 P8 ?. Q - ; If empty, default_charset or input_encoding or mbstring.input is used.' n1 Z- V! N9 g V% k g
- ; The precedence is: default_charset < intput_encoding < mbsting.http_input, F& j, _4 N- u$ F) g$ C* n
- ; http://php.net/mbstring.http-input
9 U" o+ v- n& T7 H$ v- u( Z% m6 d - ;mbstring.http_input =3 v( j5 g4 {- j; A
- 1 T7 f# X2 f, ~! H
- ; Use of this INI entry is deprecated, use global output_encoding instead.* o% D' j$ S/ O4 U K1 Q+ S) _$ G
- ; http output encoding.5 y ~ t5 ~* l2 F" a
- ; mb_output_handler must be registered as output buffer to function.
: N; A+ F% b$ |2 b - ; If empty, default_charset or output_encoding or mbstring.http_output is used.0 B1 d1 \% u v% _! u- h+ w
- ; The precedence is: default_charset < output_encoding < mbstring.http_output! V4 ~2 X8 `4 U2 j
- ; To use an output encoding conversion, mbstring's output handler must be set
" p' D) q1 g& i- R1 H, n) o - ; otherwise output encoding conversion cannot be performed.
5 L5 b! X+ N% c% t7 x - ; http://php.net/mbstring.http-output! q! m9 [$ n" l0 Q9 n
- ;mbstring.http_output =
- u8 b- y Z" P
4 r2 [! S- s Z& ?9 P- ; enable automatic encoding translation according to$ s( n" a0 n9 B2 C3 ], @ d
- ; mbstring.internal_encoding setting. Input chars are( j# Y; j) ?' k1 I7 Y) Y8 M
- ; converted to internal encoding by setting this to On.
_' p! l/ B0 y8 j - ; Note: Do _not_ use automatic encoding translation for
- e( X' r& w: l; Q# P - ; portable libs/applications.
# J% B+ M- {9 x+ O* ?! } - ; http://php.net/mbstring.encoding-translation" Y" i" v" V$ q' c' V3 C3 W" O3 t
- ;mbstring.encoding_translation = Off
! @2 U! g0 Y6 m - 6 Z' t8 Y4 ^7 [" _$ {
- ; automatic encoding detection order.: V! k4 z9 i' n) O ^9 U! w
- ; "auto" detect order is changed according to mbstring.language
! H& K" c2 L& U4 Z- M: t: p - ; http://php.net/mbstring.detect-order
+ v, a! g3 V# V - ;mbstring.detect_order = auto
2 [' d5 H/ ~+ f; c' t3 Q' O6 \ z - 4 q( o* r& J! w7 E6 W
- ; substitute_character used when character cannot be converted
E& |+ @$ X/ h9 U7 Y3 c - ; one from another/ z# ^3 \3 e2 C: {. O
- ; http://php.net/mbstring.substitute-character" I7 f& U+ }1 ?
- ;mbstring.substitute_character = none# r. {$ p+ h) x# @7 p% Y' g
2 o) m- f8 M2 r: |- ; overload(replace) single byte functions by mbstring functions.+ \: G3 D/ O' ]7 a% x' t
- ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
# r7 L( w- a4 a: n; Y" r! ?$ {4 e - ; etc. Possible values are 0,1,2,4 or combination of them.. o6 ?) y3 F4 P8 ~3 A2 q
- ; For example, 7 for overload everything.
* j& d+ O. x5 ?( U - ; 0: No overload
+ y$ ?) |2 h+ S* T4 F - ; 1: Overload mail() function: c8 D8 A/ u- _9 Y2 ]0 o/ @
- ; 2: Overload str*() functions' ~$ S1 D8 N8 g+ d! m# J
- ; 4: Overload ereg*() functions6 h4 H/ L, q: i
- ; http://php.net/mbstring.func-overload+ k" v+ ^- Q: [( Q
- ;mbstring.func_overload = 0
. E1 F5 r4 U3 O" l6 o - |! m4 p5 v6 v$ H) ~" l6 q
- ; enable strict encoding detection.2 ]5 O+ L9 P& x6 K: j% j
- ; Default: Off6 q% B) [- y- d* q& m
- ;mbstring.strict_detection = On6 {3 Q$ |, S. {0 j0 _' G) ~( m/ w0 \
- + c# O7 G: D+ U1 w! m7 y( d. R
- ; This directive specifies the regex pattern of content types for which mb_output_handler()
9 F- O( {- c9 n: c- H8 m0 W7 K - ; is activated.
- v m. F8 c, \5 \2 W5 z - ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)% G4 O! k( W, R- A t7 F# |/ d! L+ c
- ;mbstring.http_output_conv_mimetype=4 i% @* C: q- x& b6 U, D
- - {9 q8 a# |7 w' k$ _ c) C( U! g
- [gd]; D& X. v1 j8 g! J* e# ^! x, q
- ; Tell the jpeg decode to ignore warnings and try to create
0 o$ B" {2 p+ X) {: W ]0 H1 k - ; a gd image. The warning will then be displayed as notices
7 F1 S1 N/ e+ k Y+ T# W Y1 D - ; disabled by default. K; J! }7 @! }9 C' \8 U& n
- ; http://php.net/gd.jpeg-ignore-warning5 _0 y; b7 \8 D" l; K- J" J
- ;gd.jpeg_ignore_warning = 0( v* c& m, s' v
7 S% B7 v+ n$ \ v3 y6 ~- [exif]
( x0 o& s3 _% c1 R- W: V - ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
# N$ j1 i- i& T. l6 n7 Z. S - ; With mbstring support this will automatically be converted into the encoding
5 c: L: h8 m e7 j - ; given by corresponding encode setting. When empty mbstring.internal_encoding0 f) q4 o) O* T+ y* r& l! J, i& R& h
- ; is used. For the decode settings you can distinguish between motorola and3 y( h- X& G2 _5 R
- ; intel byte order. A decode setting cannot be empty.# d* V! z$ O) g
- ; http://php.net/exif.encode-unicode! z$ I' N1 r1 L0 I
- ;exif.encode_unicode = ISO-8859-15
) D+ ?, M; }; P' H6 i$ e9 F# H - & @8 |- t. [& b e4 Y: g& \* Q7 ]' ?
- ; http://php.net/exif.decode-unicode-motorola
7 o) r8 o- }" d# O& G - ;exif.decode_unicode_motorola = UCS-2BE
; d a- g, z# e6 Q" K - 0 \$ N" J! I6 J
- ; http://php.net/exif.decode-unicode-intel" t+ E, O* D2 D
- ;exif.decode_unicode_intel = UCS-2LE! M! u' b0 X3 X
- / S4 k' J9 K9 M+ m. l; ~- v
- ; http://php.net/exif.encode-jis# k9 W: |2 @3 ?/ V& W
- ;exif.encode_jis =
; _% `+ R+ x9 m+ H - - a" }+ c+ B. n9 s$ i
- ; http://php.net/exif.decode-jis-motorola5 ^; h: g5 ]5 R2 d) n
- ;exif.decode_jis_motorola = JIS8 N1 O0 d- A% [5 F! ]
- 5 o3 A6 S0 I7 H& N; [
- ; http://php.net/exif.decode-jis-intel
, p" G" V; U1 i+ b* l5 M- m& r - ;exif.decode_jis_intel = JIS% P' W- ^' {) K) ?7 S
) y& ~1 g4 o3 @; U- [Tidy]
& u6 a: _$ t; _ - ; The path to a default tidy configuration file to use when using tidy2 M! o* `, a3 Q1 w! V; s
- ; http://php.net/tidy.default-config9 G+ v9 h O* z
- ;tidy.default_config = /usr/local/lib/php/default.tcfg, P( R! l$ z* T* M
& @% b) [0 H" m9 C* y3 F" M- ; Should tidy clean and repair output automatically?& B6 I3 U9 t* G4 C3 }5 G# c7 Z
- ; WARNING: Do not use this option if you are generating non-html content
& [/ H, b# t, D6 i, ] - ; such as dynamic images
/ ~! r+ _+ H! z" s" I - ; http://php.net/tidy.clean-output$ B9 q$ F% m% q$ S, Z3 K
- tidy.clean_output = Off
) X5 p! S6 B# i ]% U5 n - ( t9 `8 x( y" w0 K
- [soap]3 J' c6 L$ d" a) J$ w* ]' J
- ; Enables or disables WSDL caching feature.* ]$ ?) @: R, m/ x
- ; http://php.net/soap.wsdl-cache-enabled6 y' \6 i' P) E1 N; F
- soap.wsdl_cache_enabled=1
: G+ Y. M X) O7 j% A
* n7 a l' ~/ T0 A- ; Sets the directory name where SOAP extension will put cache files.
. n. _& Z! [+ ]- q0 G" v# k - ; http://php.net/soap.wsdl-cache-dir# O7 D9 q; Z7 l+ ^
- soap.wsdl_cache_dir="/tmp"( X7 ?# [4 i, Z
- $ j- U- y% G, y6 S
- ; (time to live) Sets the number of second while cached file will be used6 i t- z G5 V- z1 }
- ; instead of original one.
) J3 f5 `+ |7 u, a2 T a ^; W - ; http://php.net/soap.wsdl-cache-ttl
2 ~9 W8 \' ^" ~* I( _. {: o - soap.wsdl_cache_ttl=864004 K7 C8 X2 h/ f5 E" G
, S# z7 K9 y5 a8 {' V- g. W- g- ; Sets the size of the cache limit. (Max. number of WSDL files to cache)% k' K* W A( W
- soap.wsdl_cache_limit = 5
: p0 O' ?- t4 D: o$ S9 Y
2 ^5 }6 z2 {' e- n) n8 t" Y- C; s- [sysvshm]
/ v4 } ]3 v( Y: U% R - ; A default size of the shared memory segment1 k Z9 J( w0 [( N
- ;sysvshm.init_mem = 100003 `( b, C; S$ |: ^8 S
- + P8 Y" x8 Z7 S+ j6 E+ g
- [ldap]
" a. L: D( g- n9 X6 q8 } - ; Sets the maximum number of open links or -1 for unlimited.
; E4 ~0 f& \* f% Y& [) H - ldap.max_links = -17 _" R" E6 ~$ s0 ~ N
- . c, T) V9 Y) Q. D7 V
- [mcrypt]
3 B/ m1 V9 c0 X: f - ; For more information about mcrypt settings see http://php.net/mcrypt-module-open! r5 z) n/ k8 r0 d" K% A; j
1 M5 C. i" a. n5 M/ g" o! a4 n- ; Directory where to load mcrypt algorithms% w6 R: H0 \6 R9 `( a
- ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)3 d# v/ x* G" D- D8 a
- ;mcrypt.algorithms_dir=2 s) q# C2 R) J& i# ?. d
; r7 I6 R9 `0 e1 Q# _: D" l- ; Directory where to load mcrypt modes
/ p: J- F' V; h ~ - ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
5 C+ P0 C7 x: C4 W1 a+ n: n - ;mcrypt.modes_dir=
: c: o R( p |- L d' \8 D& k/ m - 4 X3 V( [( Z! Y9 x ?/ k
- [dba]
% I; z0 @- p, x& Q( a; _) F - ;dba.default_handler=
3 \: g9 E2 I% T7 z; ^8 I
7 o# T4 ]6 O6 q- [opcache]
. D9 ]6 x* d$ @ - ; Determines if Zend OPCache is enabled
2 Z3 J+ z0 o- P. E) b7 K - ;opcache.enable=0% Y1 M6 E. `1 r1 E* }- r' n5 N, @9 D3 e
# z3 f* s! ~3 L5 y5 v7 e- ; Determines if Zend OPCache is enabled for the CLI version of PHP
' I7 u$ s8 k ^1 q0 [, ^ - ;opcache.enable_cli=0
0 w- J) t1 c- |& {9 X
s# b1 Z# e) ]. Q4 W- ; The OPcache shared memory storage size., ^4 m8 }- r9 z
- ;opcache.memory_consumption=64
+ J6 p9 [7 |' ] | - ! g6 y& R, C5 {+ X, N. u
- ; The amount of memory for interned strings in Mbytes.
. D$ s: K; P: o8 E - ;opcache.interned_strings_buffer=4, w7 F% F" u4 q( N+ |1 G' [
1 j/ u! Y( K. j2 _- ; The maximum number of keys (scripts) in the OPcache hash table.
" u! _- u: { T# {; P* v" A2 X - ; Only numbers between 200 and 100000 are allowed.
5 i! [* g3 W9 S& S4 s - ;opcache.max_accelerated_files=2000
) A* I* R2 F; t% i* F - - H, B& P! h# S0 z; ^3 R
- ; The maximum percentage of "wasted" memory until a restart is scheduled.6 u+ G% S: x6 |6 I$ y* m3 l5 C/ ?6 M
- ;opcache.max_wasted_percentage=5
* I( q' L; p9 i! X1 _ - ) ~; q8 W1 h& z" I& q5 D3 y+ X) I0 b9 q
- ; When this directive is enabled, the OPcache appends the current working) g4 l7 ^0 D& E4 |5 k' F( J7 ?
- ; directory to the script key, thus eliminating possible collisions between
2 z& o) u6 |# U$ n- Y - ; files with the same name (basename). Disabling the directive improves: S" Z i" j7 m9 }7 n
- ; performance, but may break existing applications.
. {. |% f- i, y/ i# }0 } - ;opcache.use_cwd=1 N0 |1 n4 K. U9 |4 a& j
- 3 r0 I, i! u9 \
- ; When disabled, you must reset the OPcache manually or restart the: I- N) R( J/ L: p/ ]
- ; webserver for changes to the filesystem to take effect.
f7 r+ n. i D6 R; Z - ;opcache.validate_timestamps=1 A$ C: x: J+ H- K* t
- : c& M6 Q0 d: H% o/ @' K2 j
- ; How often (in seconds) to check file timestamps for changes to the shared* u1 z9 q1 T% c- a) x$ U
- ; memory storage allocation. ("1" means validate once per second, but only
/ U( h" R4 K9 a - ; once per request. "0" means always validate)
- P/ V$ Y) I1 z8 d2 C - ;opcache.revalidate_freq=2
: q5 t+ ~( T5 S - 6 Q; O2 R, k7 ^5 O# r' ]) N
- ; Enables or disables file search in include_path optimization, A) j0 n+ \/ |- s! ] [
- ;opcache.revalidate_path=0: \ g! x3 y* y* _* p$ j% h
- 9 U( d$ l" {# F3 _4 Y
- ; If disabled, all PHPDoc comments are dropped from the code to reduce the
6 _4 S3 F3 Q3 Z* z6 s) H9 m - ; size of the optimized code.
3 s, @* m! a f' N - ;opcache.save_comments=1, R) C* e3 V( Z# `& V
2 B6 [" j- i: c2 y" v; w- ; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
" ?3 y2 Q" s9 j - ; may be always stored (save_comments=1), but not loaded by applications. B8 @$ c5 D( x4 B
- ; that don't need them anyway.4 _# o- y" A2 @' \! Y! S
- ;opcache.load_comments=1
/ P/ B5 [4 l0 U# g$ T }* I
" f2 m2 a# }' p+ k- ; If enabled, a fast shutdown sequence is used for the accelerated code. |3 w* c/ \8 {5 ~0 f8 p0 Y
- ;opcache.fast_shutdown=0
# T1 x- u3 T( }0 B7 x
. L x+ g( j! ?- ; Allow file existence override (file_exists, etc.) performance feature.
0 A. W) @& Z+ g. D \5 [ - ;opcache.enable_file_override=0! i: Y8 X1 \4 H ]3 o
- X7 Z- V, y' }4 E
- ; A bitmask, where each bit enables or disables the appropriate OPcache
. y) j1 h/ q9 H5 Z - ; passes2 l# B& W; U+ S Z0 _9 ]
- ;opcache.optimization_level=0xffffffff0 T" v7 i2 B+ @8 C' t
- 8 c: A7 D7 V) t! B( r+ l/ }
- ;opcache.inherited_hack=1
3 {( J' F+ g. ]: h' k# t }+ W0 B - ;opcache.dups_fix=0
* R* Z" M9 J' F- C
# B! ~ v9 S7 M( W( G* _- ; The location of the OPcache blacklist file (wildcards allowed).
- r: q" b% o3 L - ; Each OPcache blacklist file is a text file that holds the names of files# `8 o9 b' i) w& i$ I
- ; that should not be accelerated. The file format is to add each filename' _; S$ b& A8 P
- ; to a new line. The filename may be a full path or just a file prefix
3 N! s+ e6 r; S& _, X- F - ; (i.e., /var/www/x blacklists all the files and directories in /var/www
2 y4 X1 Y( D+ z; V/ W; v. e - ; that start with 'x'). Line starting with a ; are ignored (comments).
" J4 S; o! `1 O - ;opcache.blacklist_filename=, P& X5 C; y1 G
* {1 h1 ?* V9 T7 @4 W) A8 f- ; Allows exclusion of large files from being cached. By default all files0 j) c' x* R `# T9 d: c$ _
- ; are cached.
+ Q" W5 S, L) |+ W* ]" d$ ^% r - ;opcache.max_file_size=0
) ]; M% w: C$ e' y
# z8 E) b d/ m: ?. o- ; Check the cache checksum each N requests.8 Y4 s* O* C5 G7 p' c
- ; The default value of "0" means that the checks are disabled.
5 z" t% O# y! e' S" ? - ;opcache.consistency_checks=0( O6 C5 f1 z5 X* [# A$ w( f
( Q5 C+ B4 }% j4 |6 r- ; How long to wait (in seconds) for a scheduled restart to begin if the cache
& t/ h4 p8 ~1 }- q9 ^; g - ; is not being accessed.! F% d5 t. h0 u" A
- ;opcache.force_restart_timeout=180
$ y" @7 F {8 b: V9 T8 G7 [ - 2 T' z" X- r6 C
- ; OPcache error_log file name. Empty string assumes "stderr".
+ n6 L+ y: W9 t9 ?- s - ;opcache.error_log=
' p+ A5 R) L2 F6 ^5 y% z+ S - 0 t8 c( i* L* }, M) O: @
- ; All OPcache errors go to the Web server log.
; [. T! n* \; }5 ?) ^( J* J - ; By default, only fatal errors (level 0) or errors (level 1) are logged.
S. G7 K) T" k% ~ K0 g - ; You can also enable warnings (level 2), info messages (level 3) or9 z" y9 S$ s) O% H0 y
- ; debug messages (level 4)., T2 Y: K7 U- @* A( M
- ;opcache.log_verbosity_level=1
" m# t" ^, g) j2 L. V! k
1 D7 ~4 |% @& \. G% {* x6 X- ; Preferred Shared Memory back-end. Leave empty and let the system decide.
& i1 ?; M2 a- K8 u' n0 a2 U - ;opcache.preferred_memory_model=- ^. ~- N9 \! f% W* r
- ( N" U7 z$ J& V( Z9 O
- ; Protect the shared memory from unexpected writing during script execution.
* L/ M* E5 \% j9 o- v - ; Useful for internal debugging only.
7 |7 w. `# h9 l8 e# p - ;opcache.protect_memory=0% R/ |! F# i1 u7 P' P* k* h
! p& Y% E% \* s1 |, ]! z/ t8 ^- ; Validate cached file permissions.
1 s K* Z" ~' Z( G/ a4 l# s - ; opcache.validate_permission=0
( P5 Y4 v! P, M% S
5 Q. K( J1 W) o2 p- ; Prevent name collisions in chroot'ed environment.9 v" }6 U# E$ ^
- ; opcache.validate_root=0
3 _6 q7 ^2 y7 H( a' j8 W - 1 I# [+ Z8 c% ?: \2 f' q' u
- [curl]
9 `7 V4 c9 b+ A3 a" ? - ; A default value for the CURLOPT_CAINFO option. This is required to be an
( N+ \) t1 n( \ M1 _) l& i8 x; Z) s - ; absolute path.
- B$ [' }5 R S! h7 ` - curl.cainfo = /etc/pki/tls/certs/ca-bundle.crt. A8 }7 H/ w- Q1 D& V# d( S
- ; x( R6 l: V* y2 d. f
- [openssl]% S6 b" H' }' k; l0 Q
- ; The location of a Certificate Authority (CA) file on the local filesystem: k6 b' [# x% o+ z) l9 ~2 @3 ~
- ; to use when verifying the identity of SSL/TLS peers. Most users should
6 Y6 Q2 A9 s# l! Q- F3 l! H8 Z - ; not specify a value for this directive as PHP will attempt to use the7 F: \4 L7 E4 | g# U- P; J
- ; OS-managed cert stores in its absence. If specified, this value may still
! X0 G6 k$ N0 Q' c6 Q - ; be overridden on a per-stream basis via the "cafile" SSL stream context
8 y3 a, k0 m- [ - ; option.3 H/ P" `" d0 u/ D' z
- openssl.cafile=/etc/pki/tls/certs/ca-bundle.crt
5 C- q% }. S1 b) ]! f4 E/ e" s" b - * k$ E/ Q1 t9 y
- ; If openssl.cafile is not specified or if the CA file is not found, the
+ y4 b2 [1 t& K' I9 |( H& L$ S - ; directory pointed to by openssl.capath is searched for a suitable" Z% q \( t: ^+ Q+ E; @; W7 U0 J# S
- ; certificate. This value must be a correctly hashed certificate directory.2 x7 v* n' w" |! |- }
- ; Most users should not specify a value for this directive as PHP will( R5 u5 g7 v: o+ f) N" V
- ; attempt to use the OS-managed cert stores in its absence. If specified,% N! A; u; e6 B
- ; this value may still be overridden on a per-stream basis via the "capath"5 M2 i) `. ?) ?6 N. v3 E
- ; SSL stream context option.
; |* [0 \5 O2 D0 O Z; y/ f) y3 M - ;openssl.capath=+ J* @& @6 R+ c
- $ H; V5 e" }8 P/ i; W% X
- ; Local Variables:: F% t6 w0 a, ~" U1 ~* g, D
- ; tab-width: 4
6 W: x! v) n( b& x; ] - ; End:% @5 `( q* A @. C3 k6 F
- 4 d3 d) J" t- G* d: R" i
- ;eaccelerator% H* ^( E2 f# r N$ U1 a& ~7 ?3 j+ N
3 ~$ D" `# \) _0 f- ;ionCube
# n3 E3 y t F+ f
, K6 p! k* P& ~4 ^: s/ `1 e- ;opcache% Q5 ?4 m' g0 V( ?2 `) m) N
- ( ]" I, M+ M O
- [Zend ZendGuard Loader]
: {4 n2 }8 e1 ?8 @, r! ]9 S7 H# v - zend_extension=/usr/local/zend/php56/ZendGuardLoader.so1 M c4 l( s d" k
- zend_loader.enable=1
' ?$ o$ Q2 ^# a6 ~2 B2 b- \: e - zend_loader.disable_licensing=0
9 f, ]: e9 a, z$ ^ - zend_loader.obfuscation_level_support=3
2 c' b" D/ u* n6 o7 F - zend_loader.license_path=
6 a8 h2 z' _/ e* q5 l
( D: m: i* T9 K4 Y- ;xcache
# q! h2 \/ d+ Y% Y) N# j* M
7 r$ ^* P% D; H' R: F
复制代码 |
|