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