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