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