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