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