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