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