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