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