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