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