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