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