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