https://wiki.dusal.net/index.php?title=Apache_2_%2B_PHP_%D1%86%D0%B0%D0%B3%D0%B0%D0%B0_%D0%B4%D1%8D%D0%BB%D0%B3%D1%8D%D1%86%D0%B8%D0%B9%D0%BD_%D0%B0%D0%BB%D0%B4%D0%B0%D0%B0&feed=atom&action=history
Apache 2 + PHP цагаа дэлгэцийн алдаа - Түүх
2024-03-28T11:23:41Z
Вики дэх энэ хуудасны засварын түүх
MediaWiki 1.30.0
https://wiki.dusal.net/index.php?title=Apache_2_%2B_PHP_%D1%86%D0%B0%D0%B3%D0%B0%D0%B0_%D0%B4%D1%8D%D0%BB%D0%B3%D1%8D%D1%86%D0%B8%D0%B9%D0%BD_%D0%B0%D0%BB%D0%B4%D0%B0%D0%B0&diff=180&oldid=prev
Almas: Шинэ хуудас: Вэб хөгжүүлэх үед цагаан дэлгэц гараад код яаж бичсэнээс хамаараад алдаа гарах үе байдаг. Мэдээ…
2015-06-20T06:18:23Z
<p>Шинэ хуудас: Вэб хөгжүүлэх үед цагаан дэлгэц гараад код яаж бичсэнээс хамаараад алдаа гарах үе байдаг. Мэдээ…</p>
<p><b>Шинэ хуудас</b></p><div>Вэб хөгжүүлэх үед цагаан дэлгэц гараад код яаж бичсэнээс хамаараад алдаа гарах үе байдаг. Мэдээж display_error, эсвэл error_log дээрээс алдаагаа харж болно. Харин алдаа харагдуулалтыг асаалттай байлгах нь хакердуулах эрсдлийг нэмэгдүүлдэг. Тиймээс унтрааж байх хэрэгтэй байдаг. За гэвч аль ч тохиолдолд лог дээр алдаа бичигдэхгүй, мөн дэлгэцэнд харагдахгүй үед дараах кодыг ашиглан алдааг илрүүлж болдог юм байна.<br />
<br />
<pre><br />
<br />
<?php<br />
<br />
// ----------------------------------------------------------------------------------------------------<br />
// - Display Errors<br />
// ----------------------------------------------------------------------------------------------------<br />
ini_set('display_errors', 'On');<br />
ini_set('html_errors', 0);<br />
<br />
// ----------------------------------------------------------------------------------------------------<br />
// - Error Reporting<br />
// ----------------------------------------------------------------------------------------------------<br />
error_reporting(-1);<br />
<br />
// ----------------------------------------------------------------------------------------------------<br />
// - Shutdown Handler<br />
// ----------------------------------------------------------------------------------------------------<br />
function ShutdownHandler()<br />
{<br />
if(@is_array($error = @error_get_last()))<br />
{<br />
return(@call_user_func_array('ErrorHandler', $error));<br />
};<br />
<br />
return(TRUE);<br />
};<br />
<br />
register_shutdown_function('ShutdownHandler');<br />
<br />
// ----------------------------------------------------------------------------------------------------<br />
// - Error Handler<br />
// ----------------------------------------------------------------------------------------------------<br />
function ErrorHandler($type, $message, $file, $line)<br />
{<br />
$_ERRORS = Array(<br />
0x0001 => 'E_ERROR',<br />
0x0002 => 'E_WARNING',<br />
0x0004 => 'E_PARSE',<br />
0x0008 => 'E_NOTICE',<br />
0x0010 => 'E_CORE_ERROR',<br />
0x0020 => 'E_CORE_WARNING',<br />
0x0040 => 'E_COMPILE_ERROR',<br />
0x0080 => 'E_COMPILE_WARNING',<br />
0x0100 => 'E_USER_ERROR',<br />
0x0200 => 'E_USER_WARNING',<br />
0x0400 => 'E_USER_NOTICE',<br />
0x0800 => 'E_STRICT',<br />
0x1000 => 'E_RECOVERABLE_ERROR',<br />
0x2000 => 'E_DEPRECATED',<br />
0x4000 => 'E_USER_DEPRECATED'<br />
);<br />
<br />
if(!@is_string($name = @array_search($type, @array_flip($_ERRORS))))<br />
{<br />
$name = 'E_UNKNOWN';<br />
};<br />
<br />
return(print(@sprintf("%s Error in file \xBB%s\xAB at line %d: %s\n", $name, @basename($file), $line, $message)));<br />
};<br />
<br />
$old_error_handler = set_error_handler("ErrorHandler");<br />
<br />
// Энд код байх юм уу include require ашиглаж болно.<br />
<br />
?><br />
</pre><br />
<br />
<br />
'''Алдааг олсон эх сурвалж:'''<br />
[http://stackoverflow.com/questions/1475297/phps-white-screen-of-death]<br />
<br />
[[Ангилал:Веб_бүтээх]]</div>
Almas