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