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