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