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