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