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