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