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