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