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