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