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