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