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