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