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