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