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