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