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