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