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