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