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