源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

获取PHP警告错误信息的解决方法

  • 时间:2021-01-05 01:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:获取PHP警告错误信息的解决方法
代码如下所示:
[u]复制代码[/u] 代码如下:
<?php /** * 更新非法字符、發送錯誤信息 *  * @author * @copyright 2009-06-10 */ error_reporting(E_ERROR | E_WARNING | E_PARSE); set_error_handler('displayErrorHandler');//自定義錯誤 //調試信息 echo "time:".date("Y-m-d H:i:s")."\n"; //數據配置 //公共函數 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 "\n";//調試顯示         //發送信息         if($error==1||$error==2) {             sendBankMsg($error_string); //發送簡訊             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\n\$filtetextArr = array('".$result."');\n?>";     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\n";         $header .= "Host:".$domain."\r\n";         $header .= "Content-Type: application/x-www-form-urlencoded\r\n";         $header .= "Content-Length: ".$length."\r\n";         $header .= "Connection: Close\r\n\r\n";         //添加post的字符串         $header .= $params."\r\n";         //发送post的数据         fputs($fp,$header);         while (!feof($fp)) {             $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据             if ($inheader && ($line == "\n" || $line == "\r\n")) {                 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; } ?>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部