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