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