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