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