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