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