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