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