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