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