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