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