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