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