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