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