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