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