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