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