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