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