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