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