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