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