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