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