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