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