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