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