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