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