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