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