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