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