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