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