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