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