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