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