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