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