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