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