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