;;;;;;;;;;;;;;;;;;;
QEf@wv;T ; About this file ;
ZHN'j ]? ;
3p&T?E% ; 关于这个文件
nOL.% ;
r9&m^,U ;;;;;;;;;;;;;;;;;;;
yD7} ;
kMurNA= ; This is the recommended, PHP 4-style version of the php.ini-dist file. It
7~QI4'e ; sets some non standard settings, that make PHP more efficient, more secure,
ur8+k4]\" ; and encourage cleaner coding.
5Y^"&h[/ ;
:K]7(y7> ;
FMeBsI9pL ; 这个是推荐的,PHP 4 版本类型的 php.ini-dist 文件,他设置了一些非标准的设置,他们使得
Wj^e)2% ; PHP更加有效,更加安全,鼓励整洁的编码。
El5} f4sl ;
K2yNIq_ ;
cbyzZ#WRb ; The price is that with these settings, PHP may be incompatible with some
p9?kJKN ; applications, and sometimes, more difficult to develop with. Using this
@9KW ]7 ; file is warmly recommended for production sites. As all of the changes from
RYEZ'< ; the standard settings are thoroughly documented, you can go over each one,
<C&|8@A0 ; and decide whether you want to use it or not.
O7VEyQqf5 ;
F""9O6u ;
|EX=Rj* ; 这样做的代价是,某些应用程序可能在这样的配置下不兼容,在某些情况下,开发会更加困难。
}q@#M8 b ; 使用这个文件是我门对建设站点的热心建议。每个标准设置的改变都有彻底的说明稳当,你可以
i,*m(C@F} ; 处理没一个,决定是否使用他们。
9;U?_ ;
t kj ;
Y /_CPY ; For general information about the php.ini file, please consult the php.ini-dist
LZe)_9$ ; file, included in your PHP distribution.
Na/Y1RW ;
iOURS ;
w'(/dr ; 关于 php.ini 的一般信息,请参考 php.ini-dist 文件,包括你的 PHP 的说明
Xj/z), ;
*"8Ls0! ;
B+`4UfB]Z} ; This file is different from the php.ini-dist file in the fact that it features
)xyjQ|b ; different values for several directives, in order to improve performance, while
%r(WS_%K| ; possibly breaking compatibility with the standard out-of-the-box behavior of
)e?&'wa> ; PHP 3. Please make sure you read what's different, and modify your scripts
lUs$I{2_ ; accordingly, if you decide to use this file instead.
j0mN4Ny ;
Mz6(M,hkq ;
6EyPZ{ ; 这个文件和 php.ini-dist 的区别在于它给予了一些指示不同的值,来提高性能,同时可能破坏了
Z)W8Of_ ; PHP 3 的标准的 out-of-the-box 特性。
)ciP6WzzbI ;
W]ca~%r ;
g) u%?T ; - register_globals = Off [Security, Performance]
Vz/w.%_g ; Global variables are no longer registered for input data (POST, GET, cookies,
_=s9o/Cn] ; environment and other server variables). Instead of using $foo, you must use
-Y/i
h(I^ ; you can use $_REQUEST["foo"] (includes any variable that arrives through the
O+=%Mz(l ; request, namely, POST, GET and cookie variables), or use one of the specific
4kM/`g6?,q ; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending
!B%em%Tv ; on where the input originates. Also, you can look at the
2r!ltG3} ; import_request_variables() function.
Om0$6O ; Note that register_globals is going to be depracated (i.e., turned off by
zW%Em81Wd ; default) in the next version of PHP, because it often leads to security bugs.
%DKFF4k ; Read
http://php.net/manual/en/security.registerglobals.php for further
Yn}Gj' ; information.
Re8x!e'> ;
~#*C,4m ;
*pJGp:{6V? ; 全局变量不再注册输入的数据(POST,GET,cookies,环境变量和其他的服务器变量)。作为代替的是使用
^)gyKl:E' ; $foo, 你必须使用 $_REQUEST["foo"] ( 包括所有的通过请求传来的变量,也就是说,POST,GET,和
f?sm~PwC- ; cookies 变量)或者根据输入的来源使用指定的 $_GET["foo"],$_POST["foo"],$_COOKIE["foo"]
|^1U<'oM# ; ,$_FILES["foo"] (访问他们).同时,你可以查看 import_request_variables()函数。
dyWp'vCQs\ ;
(CxA5u1|l ; 注意,这个参数可能在下个版本去掉(默认为off),因为他经常引起安全 bugs.到
1^WGJ"1 ;
http://php.net/manual/en/security.registerglobals.php f*XCWr ; 查看详细内容
R}=5:)%w ;
M-"j8:en ;
_K~h?
\u ; - display_errors = Off [Security]
LN5LT'CE ; With this directive set to off, errors that occur during the execution of
DYr#?} 40 ; scripts will no longer be displayed as a part of the script output, and thus,
4@?0wV ; will no longer be exposed to remote users. With some errors, the error message
#4'wF4DR@ ; content may expose information about your script, web server, or database
pd'0| ; server that may be exploitable for hacking. Production sites should have this
.Az36wD ; directive set to off.
E?XaU~cpc ;
QPx5`{nN ;
c}o 6Rm50 ; 设置这个指示为Off,在脚本执行期间发生错误时,不再将错误作为输出的一部分显示,这样就不会暴露给
"17)`Yf ; 远端用户。对于某些错误,错误信息的内容可能暴露你的脚本,web服务器,数据库服务器的信息,可能被
pD$4nH4KST ; 黑客利用。最终产品占点需要设置这个指示为off.
Iy9hBAg\y ;
c
3QgX4vq ;
VyxYv-$Y ; - log_errors = On [Security]
1XSnnkJm ; This directive complements the above one. Any errors that occur during the
Pq omi!1 ; execution of your script will be logged (typically, to your server's error log,
p,fV .5q ; but can be configured in several ways). Along with setting display_errors to off,
Wm}c-GD ; this setup gives you the ability to fully understand what may have gone wrong,
K?^;|m- ; without exposing any sensitive information to remote users.
'K,\ ;
t_3j_` ;
1(?4*v@B ; 这个指示补充上面的。所有的发生在脚本运行期间的错误都会纪录在日志中(代表性的,记录在服务器的错误
.zO2g8(VR ; 日志中,但是可以配置不同的方式)。随着 display_errors 设置为 off,这个设置给你全面了解到底什么
c1'@_Is ; 发生错误的能力,而不会向远端用户暴露任何信息。
(gBKC]zvz3 ;
8 c8`"i ;
+NPL.b| ; - output_buffering = 4096 [Performance]
%F>~2g?$ ; Set a 4KB output buffer. Enabling output buffering typically results in less
ii)#(b:V ; writes, and sometimes less packets sent on the wire, which can often lead to
&F&`y ; better performance. The gain this directive actually yields greatly depends
Ht
Fr(g\"$ ; on which Web server you're working with, and what kind of scripts you're using.
uDDa>Ka#+ ;
Ap
dXsL ;
R{#< NE ; 设置 4KB 的输出缓冲区。打开输出缓冲可以减少写的次数,有时减少线路发送包的数量,这样能提高性能。
l$;"yVdks ; 这个指示真正得到的益处很大程度的依赖于你的工作的 WEB 服务器,以及你使用的脚本。
{[oNUzcd ;
ff#7}9_mh ;
\3 SY2g8+ ; - register_argc_argv = Off [Performance]
?gE=hh ; Disables registration of the somewhat redundant $argv and $argc global
RPz[3y ; variables.
~`OX}h/Z ;
?.?)5
&4 ;
y7,fFUKl ; 禁止注册某些多于的 $argv 和 $argc 全局变量
p&<Ssc ;
U6]#RxH ;
buGBqx[ ; - magic_quotes_gpc = Off [Performance]
Ia&*JYM[ ; Input data is no longer escaped with slashes so that it can be sent into
n$/|r ; SQL databases without further manipulation. Instead, you should use the
bWswF<y- ; function addslashes() on each input element you wish to send to a database.
)/;KxaKt ;
p/h\QG1
;
7*5B ; 输入数据不再被斜线转义,以便于无需更多的处理就可以发送到SQL数据库里面。作为代替,你可
*4cuWkQ, ; 以对每个要发送到数据库的输入元素使用 addslashes()函数。
^{+ry<rS> ;
6R6Ub
0 ;
+K4XMf ; - variables_order = "GPCS" [Performance]
G$<(>"Yr~$ ; The environment variables are not hashed into the $HTTP_ENV_VARS[]. To access
(g##wa)L ; environment variables, you can use getenv() instead.
a1cX+{W ;
|`T(:ZKXZ2 ; 环境变量不再进入 $HTTP_ENV_VARS[],你需要用 getenv()来访问环境变量。
7> Z| K ;
')uYI;h9 ;
oPSPb(. ; - error_reporting = E_ALL [Code Cleanliness, Security(?)]
f@OH~4FG ; By default, PHP surpresses errors of type E_NOTICE. These error messages
9p{4-] ; are emitted for non-critical errors, but that could be a symptom of a bigger
Nm*(?1 ; problem. Most notably, this will cause error messages about the use
?XBdBR_"^ ; of uninitialized variables to be displayed.
eHphM;C ;
!7N:cx'Qy ;
11H`WOTQF ; 默认的,PHP 给出 E_NOTICE 错误类型,这些错误信息不是核心错误,但是可能是个更大错误的隐患。
L<F8+a7i ; 大多数提醒是那些没有初始化变量引起的错误信息。
E'AR.! ;
CsO!Y\'FY ;
Y+?QHtZL ; - allow_call_time_pass_reference = Off [Code cleanliness]
Q"QRF5Ue ; It's not possible to decide to force a variable to be passed by reference
E2e"A
I.h ; when calling a function. The PHP 4 style to do this is by making the
4>gfLK\R: ; function require the relevant argument by reference.
37U8< ;
]>n{~4a ;
(t4i&7- ; 在调用函数时,不可能决定强制传递变量的引用。PHP 4 里通过函数请求相关参数的引用来实现
Oyl~j#h ;
B"^j>SF ;
p _gN}v _{*} )&!M ;;;;;;;;;;;;;;;;;;;;
ZbFD |~[ V ; Language Options ;
'oa.-g 5 ;
o=m5AUe?J ;
7)rQf{q7 ; 语言配置
{?qfH>oFA ;
}a]`"_i;[ ;
&;BhL%)} ;;;;;;;;;;;;;;;;;;;;
QiPqN$n _}l(i1o,/ ; Enable the PHP scripting language engine under Apache.
|+cz\+ ;
t~+M>Fjm?d ;
<y6`8J7: ; 允许在Apache下的PHP脚本语言引擎
PQHztS" ;
S<mZs; ;
,1-%C) engine = On
Y+-yIMt$r o|xf2k ; Allow the tags are recognized.
2I.FSR_G? ;
y1V}c, ;
!sT>]e ; 允许 标记
NFT:$>83` ;
)UR$VL ;
VUP|j/qD short_open_tag = On
mb\T)rj Rk$7jZdTf ; Allow ASP-style tags.
|~9rak, ;
$fb%?n{ ;
jFSR+mP! ; 允许 ASP 类型的 标记
]cRvdUGv ;
zEQ]5>mG ;
?^&ih:" asp_tags = Off
A c_P^ -laH^<jm5 ; The number of significant digits displayed in floating point numbers.
HhbBt'fH ;
$(1t~u<17 ;
{v"f){ ; 浮点数显示的有意义的数字(精度)
mR0`wrt ;
(j8*F Bq ;
@-q,%)?0}= precision = 14
zteu{0 ]3,'U(!+ ; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
d6i}xnmC ;
EjPR+m ;
][
$UN ; 强制遵从 2000 年(会在不遵从的浏览器上引起错误)
S>lP?2J ;
*l7 `C) ;
P]+B})) y2k_compliance = Off
X@~/.H5 {z o GwB ; Output buffering allows you to send header lines (including cookies) even
6#=Iv X4 ; after you send body content, at the price of slowing PHP's output layer a
"im5Fnu ; bit. You can enable output buffering during runtime by calling the output
exWQ~& ; buffering functions. You can also enable output buffering for all files by
1j2U,_- ; setting this directive to On. If you wish to limit the size of the buffer
S'x ]c# ; to a certain size - you can use a maximum number of bytes instead of 'On', as
rJ/HIda ; a value for this directive (e.g., output_buffering=4096).
o$@/@r ;
`I7s|9-= ;
XT^=v6^H ; 输出缓冲允许你在主体内容发送后发送头信息行(包括 cookies),作为代价,会稍微减慢一点PHP
]}`t~#Irz ; 输出层的速度。你可以在运行期间通过调用输出缓冲函数来打开输出缓冲。你也可以通过设置这个
-jjB2xP ; 指示来对虽有的文件打开输出缓冲。如果你想限制缓冲区大小为某个尺寸,你可以使用一个允许最大
8:Hh;nl ; 的字节数值代替 "On",作为这个指示的值。
5OdsT-y ;
i4YskhT ;
h7]+#U]mi output_buffering = 4096
}s2CND :(q4y-o6 ; You can redirect all of the output of your scripts to a function. For
W6?=9].gc ; example, if you set output_handler to "ob_gzhandler", output will be
|gkNhxzB ; transparently compressed for browsers that support gzip or deflate encoding.
<:-4GJH= ; Setting an output handler automatically turns on output buffering.
zC*FeqFL< ;
u>fs
yn9c ;
`0upm%A ; 你可以重新定向脚本所有输出到一个函数。例如,你可以设置 output_handler 为 "ob_gzhandler",
\3vQXt\dM$ ; 输出将会被明显的被压缩到支持 gzip 或 deflate 编码的浏览器。设置一个输出管理会自动打开
A!Tl ; 输出缓冲
RFw0u 0Nrz ;
'DW|a ;
g}~s"Sz output_handler =
bK "I9T # DY`0 `T ; Transparent output compression using the zlib library
3]S*p ErY ; Valid values for this option are 'off', 'on', or a specific buffer size
:$I"n\ ; to be used for compression (default is 4KB)
\O*ZW7?TJ ;
F2YBkwI
;
uGAQt9$>_ ; 使用 zlib 库进行输出压缩,可以指定 off/on 或者用于压缩的缓冲大小
@<K<"`~H ;
yz [pF ;
aG1Fj[, zlib.output_compression = Off
q}i#XQU V@0T&# ; Implicit flush tells PHP to tell the output layer to flush itself
F6vsU:TfB ; automatically after every output block. This is equivalent to calling the
.H|Z3d!Jj ; PHP function flush() after each and every call to print() or echo() and each
:h@V,m Z ; and every HTML block. Turning this option on has serious performance
z,;XWv? ; implications and is generally recommended for debugging purposes only.
hw"2'{"II ;
/5 z+N(RFC ;
bfeTf66c ; 隐含的通知PHP的输出层在每个输出块后自己自动刷新。等同于在每个 print() 或者 echo()
,u@:(G ; 和每个HTML块后面都调用 flush()函数。打开这个配置会引起严重的隐含执行,一般推荐在用于
.*NPoW4Kv ; 调试目的时使用。
tDETRjTA ;
&pK0>2 ;
:%sG'_d implicit_flush = Off
oDS7do k3&68+ ; Whether to enable the ability to force arguments to be passed by reference
#~Xj=M% ; at function call time. This method is deprecated and is likely to be
]Mq-67 ; unsupported in future versions of PHP/Zend. The encouraged method of
)
`{jPK*` ; specifying which arguments should be passed by reference is in the function
H@- GYX"4 ; declaration. You're encouraged to try and turn this option Off and make
,{IDf ; sure your scripts work properly with it in order to ensure they will work
n\9IRuYO ; with future versions of the language (you will receive a warning each time
@o[ZJ4>* ; you use this feature, and the argument will be passed by value instead of by
m
70r'b] ; reference).
Q'U! ;
gZHgL7@ ;
N5 sR ; 是否允许在函数调用期间有强制参数以引用的形式传递的能力。这个方法不赞成使用,在将来的
AXcmN ; PHP和Zend版本里面可能不支持。鼓励的方法是在函数声明时指定哪个参数通过引用传递。鼓励你
mBIksts5h ; 尝试关闭这个参数,确认你的脚本能够正常运行,以便在以后版能里面正确运行(你会在每次使用
P^o@x,V!& ; 这个特性时得到一个警告,并且参数以值来传递,代替引用)
U/FysN_N! ;
ttr` ;
!ak760*A allow_call_time_pass_reference = Off
e!Z}aOeE M_0f{ [Zdrm:=]L ;
8XV RRk ; Safe Mode
:V$\y up ;
GX23c
i ;
i^WY/ OhL ; 安全模式
7j|CWurvq ;
i&(1<S>P ;
L0VZ>!*o ;
jNbVp{%/S} safe_mode = Off
h5P ]`r vo Et\H ; By default, Safe Mode does a UID compare check when
;Q3[} ]su ; opening files. If you want to relax this to a GID compare,
62;xK-U ; then turn on safe_mode_gid.
nK< v ;
(e_<~+E ;
%i7U+v(d ; 安全模式默认的在打开文件时进行 UID 比较检查,如果你想放宽他为GID比较,打开这个参数
UNSXr`9 ;
y?cN ;
0.m-} safe_mode_gid = Off
f0@*> I>rTqOK ; When safe_mode is on, UID/GID checks are bypassed when
,g'>Ib% ; including files from this directory and its subdirectories.
xi"ff. ; (directory must also be in include_path or full path must
=XYc2.t ; be used when including)
@?s>oSyV ;
xA^E+f:W_ ;
lpPPI+|4N ; 在安全模式,当包含如下目录和子目录文件时,绕过 UID/GID检查(路径必须在 include_path下面
'<,Dz= ; 或者在包含时使用完整路径
V ~jp ;
,XscO7 ;
dU_;2d$ safe_mode_include_dir =
FD!8o +hKU]DP2; ; When safe_mode is on, only executables located in the safe_mode_exec_dir
"Plo[E ; will be allowed to be executed via the exec family of functions.
?!m\|'s- ;
nGX3_-U4 ;
IAbQgBvUD ; 在安全模式下,只有给出目录下可以通过 exec 族函数执行
5{W Aw ! ;
hrJ(] [8 ;
G8'{nPA~ safe_mode_exec_dir =
t<c7%i#Od ObZhQ.& ; open_basedir, if set, limits all file operations to the defined directory
k|>yFc ; and below. This directive makes most sense if used in a per-directory
q'trd};xR ; or per-virtualhost web server configuration file.
L!Tvz(_7f6 ;
8wO4; ;
vr"Pr4z4i ; 如果设置,则限制所有的文件操作都到下面给出的目录下。这个指示在每个目录,每个虚拟主机的web
k:7Gb7\ ; 服务器配置文件里给出更多的认识。
vx7=I\1 ;
ic}TiTK ;
BT}l" ;open_basedir =
a
Z)1S X`D CN` ~DD{ ; Setting certain environment variables may be a potential security breach.
S;t`C~l\ ; This directive contains a comma-delimited list of prefixes. In Safe Mode,
Y>C05?> ; the user may only alter environment variables whose names begin with the
9%21Q>Y?b ; prefixes supplied here. By default, users will only be able to set
dYOY8r/ ; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
)^P54_2
;
2oc18#iG( ; Note: If this directive is empty, PHP will let the user modify ANY
oM>UIDCY_v ; environment variable!
AMB{Fssz ;
sWse
(_2 ;
z80(+`
; 设置某些环境变量可能是隐藏的安全缺口。这个指示包含一个逗号分割的前缀指示。在安全模式下
y5c\\e ; 用户只能修改下面提供的为前缀的变量名字。默认,用户只能设置以 PHP_ 前缀开头的环境变量(
#?\(l% ; 例如 PHP_FOO=BAR).
7MZH'nO ;
|_g7k2oLY ; 注意:如果这个设置为空,则 PHP 可以让用户修改任何环境变量。
EF$ASNh" ;
Q3hSWXq' ;
]5@n`;. safe_mode_allowed_env_vars = PHP_
OpazWcMoo a0k;way ; This directive contains a comma-delimited list of environment variables that
]iW:YNvXA ; the end user won't be able to change using putenv(). These variables will be
:B=Gb8? ; protected even if safe_mode_allowed_env_vars is set to allow to change them.
^B%ki ;
.*`]x ;
@J>JZ7m]\ ; 这个指示包含用逗号分割的不允许最终用户通过 putenv()修改的环境变量的列表。这些变量即使
<7)sS<I ; 在 safe_mode_allowed_env_vars 设置允许改变他们的情况下也被保护。
H}_R `S ;
[%yj'
)R/ ;
teb(gUy}L6 safe_mode_protected_env_vars = LD_LIBRARY_PATH
9%SC#V' 569p/? ; This directive allows you to disable certain functions for security reasons.
}&L%c> ; It receives a comma-delimited list of function names. This directive is
~}{_/8'5 ; *NOT* affected by whether Safe Mode is turned On or Off.
PP\ bDEPy ;
B R ;
4 7mT ; 这个指示用于在由于安全原因的情况下屏蔽某些函数。接受用逗号分割的函数名列表,这个指示不受
ZXo;E ; Safe Mode 是否打开的影响。
/~".GZ&29 ;
<-'
!I& ;
B#IUSHC disable_functions =
&RbPN^ yFeFI@Hp 3 ; Colors for Syntax Highlighting mode. Anything that's acceptable in
7vRp< ; would work.
wC%qS y' ;
y'b*Dk{ ;
6`6 / 2C$% ; 语法加亮模式的颜色,任何 正常工作的都可以接受
NNr6~m)3v ;
\}4*}Lr ;
\ `z%5/@f; highlight.string = #CC0000
9MO=f^f- highlight.comment = #FF9900
S,5>/'fy0 highlight.keyword = #006600
.9Cy<z highlight.bg = #FFFFFF
WK?5`|1l:x highlight.default = #0000CC
3O-vO=D highlight.html = #000000
nql9SQ'\\ oR~d<^z( K/Pw;{} ;
\6MM7x(U3 ; Misc
&uc`w{,Zs ;
dG0z A
D ; Decides whether PHP may expose the fact that it is installed on the server
NZZy^p&O ; (e.g. by adding its signature to the Web server header). It is no security
M:oM(K+ ; threat in any way, but it makes it possible to determine whether you use PHP
$kN=45SR ; on your server or not.
oj{CNa ;
hi$AZ+ ;
^>ir&$ ; 是否让服务器暴露 PHP(例如在 web 服务器头增加标记)。他不会有安全威胁,但是可以让你
ia_@fQ ; 检测一个服务器是否使用了 PHP.
,W[J@4. ;
?Be}{Qqlg ;
aaKf4} expose_php = On
uxDM
# A/:_uqm4 EAXl.Y.
$ ;;;;;;;;;;;;;;;;;;;
ZCZ@ZN ; Resource Limits ;
^Lc\{,m ;
S2\;\?]^~ ;
@.i#uMWF` ; 资源限制
VJTO:}Q ;
uY>M3h#qx ;
ZB)R4 ?_bFe![q ;;;;;;;;;;;;;;;;;;;
iSoQ1#MP)2 XKws_ ;
vOz1& |;D ;
Z|x|8 !D ; 每个脚本最大执行的秒数
,m]5j_< } ;
Bf#cBI ;
R3a}YwJFXF max_execution_time = 30 ; Maximum execution time of each script, in seconds
^Y+C!I *{+{h;p ;
eBxm ;
E X'PRNB, ; 一个脚本最大消耗的内存
a9p:k
]{ ;
! #!
MTk ;
6YNL4HE? memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
qF`6l( YI7M%B9Lj Mth:V45G| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ti%RE:* ; Error handling and logging ;
%aw.o*@: ;
gELG/6l ;
`?N0?; ; 错误处理和记录
m }HaJ ;
P33xt~ ;
QM3DB ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
z#o'' Y2 J-`o$5 ; error_reporting is a bit-field. Or each number up to get desired error
@>VVB{1@,] ; reporting level
jy2gR1~ ;
pk.\IKlG] ;
/; Bmh= ; 错误报告是一个位字段,每个数值代表错误报告的等级
UsFn! !+ ;
.S-) ;
&R@([=1 ; E_ALL - All errors and warnings
~I+MuI[ ;
s^eiym P ; 所有的错误和警告
YcDKRyrt ;
}kr?+)wB ; E_ERROR - fatal run-time errors
;XawEG7" U ;
T#3@r0M ; 致命的运行期错误
0&]1s ;
zM=MFKhi ~ ; E_WARNING - run-time warnings (non-fatal errors)
UWKgf? _ ;
T{3nIF ; 运行期警告(非致命错误)
r*l3Hrho~K ;
^c.D&