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