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