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