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