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