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