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