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