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