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