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