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