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