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