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