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