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