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