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