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