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