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