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