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