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