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