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