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