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