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