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