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