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