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