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