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