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