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