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