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