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