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