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