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