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