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