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