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