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