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