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