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