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