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