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