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