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