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