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