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