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