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