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