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