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