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