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