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