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