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