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