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