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