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