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