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