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