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