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