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