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