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