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