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