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