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