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