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