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