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