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