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