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