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