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