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