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