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