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