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