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