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