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