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