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