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