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