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