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