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