PHP 경고 오류 정 보 를 가 져 오 는 해결 방법
<?php
/**
* 、l e`
*
* @author
* @copyright 2009-06-10
*/
error_reporting(E_ERROR | E_WARNING | E_PARSE);
set_error_handler('displayErrorHandler');// xe`
//{
echo "time:".date("Y-m-d H:i:s")."
";
//
//
function displayErrorHandler($error, $error_string, $filename, $line, $symbols)
{
$error_no_arr = array(1=>'ERROR', 2=>'WARNING', 4=>'PARSE', 8=>'NOTICE', 16=>'CORE_ERROR', 32=>'CORE_WARNING', 64=>'COMPILE_ERROR', 128=>'COMPILE_WARNING', 256=>'USER_ERROR', 512=>'USER_WARNING', 1024=>'USER_NOTICE', 2047=>'ALL', 2048=>'STRICT');
$msg = sprintf("%s: %s at file %s(%s)", $error_no_arr[$error] ,$error_string, $filename, $line);
if(in_array($error,array(1,2,4))){
echo $msg; echo "
";//{@
//l
if($error==1||$error==2) {
sendBankMsg($error_string); //l
if(strpos($error_string, 'xml_parse(): Bytes:')!==FALSE){
writeFiltefile($error_string);
}
}
}
}
function hex2bin($hexdata) {
$bindata = '';
for($i=0; $i < strlen($hexdata); $i += 2) {
$bindata .= chr(hexdec(substr($hexdata, $i, 2)));
}
return $bindata;
}
function writeFiltefile($error_string)
{
if(strpos($error_string, 'xml_parse(): Bytes:')===FALSE||strpos($error_string, ' 0x')===FALSE){
return;
}
//
$filename = 'filtetext.php';
include($filename);
$error_string = str_replace('xml_parse(): Bytes:', '', $error_string);
$error_string = str_replace(' 0x','', $error_string);
$error_text = hex2bin($error_string);
$filtetextArr[] = $error_text;
$tempArr = array_unique($filtetextArr);//
$result = implode("','",$tempArr);
$result = "<?php
\$filtetextArr = array('".$result."');
?>";
fileWrite($filename, $result, 'w');
}
function sendBankMsg($msg)
{
$timestamp = time();
$params = "msg=".$msg
."&posttime=".$timestamp;
$length = strlen($params);
// socket
$domain = "www.admin.com"; //socket
$actionPath = "/action/bank/bankmsg.php"; //
$fp = fsockopen($domain,80);
// post
if($fp){
$header = "POST ".$actionPath." HTTP/1.1\r
";
$header .= "Host:".$domain."\r
";
$header .= "Content-Type: application/x-www-form-urlencoded\r
";
$header .= "Content-Length: ".$length."\r
";
$header .= "Connection: Close\r
\r
";
// post
$header .= $params."\r
";
// post
fputs($fp,$header);
while (!feof($fp)) {
$line = fgets($fp,1024); //
if ($inheader && ($line == "
" || $line == "\r
")) {
echo $line;
}
}
fclose($fp);
}
}
function fileWrite($fFileName, $fContent, $fTag = 'w') {
ignore_user_abort (TRUE);
$fp = fopen($fFileName, $fTag);
if (flock($fp, LOCK_EX)) {
fwrite($fp, $fContent);
flock($fp, LOCK_UN);
}
fclose($fp);
ignore_user_abort (FALSE);
return;
}
?>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
백 엔 드 아파 치가 프론트 엔 드 Nginx 리 버스 에이전트 의 실제 IP 주 소 를 가 져 옵 니 다.백 엔 드 아파 치가 프론트 엔 드 Nginx 리 버스 에이전트 의 실제 IP 주 소 를 가 져 옵 니 다. 환경: 전단 Nginx 는 역방향 프 록 시 서버 입 니 다.백 엔 드 는 Apache, WEB 프로젝트 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.