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