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