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