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