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