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