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