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