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