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