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