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