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