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