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