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