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