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