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