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