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