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