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