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