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