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