Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Niepoprawna funkcja w lini 30 :(
Forum PHP.pl > Forum > PHP
danielntk
Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\WebServ\httpd-users\gra\game\includes\error_handler.php on line 30

CODE
<?php

/**
* error_handler.php
*
* @version 1.0
* @copyright 2008 by Anthony for XNova Redesigned
*/

//This will log error to the database

$error_types = array(
'1' => 'E_ERROR',
'2' => 'E_WARNING',
'4' => 'E_PARSE',
'8' => 'E_NOTICE',
'16' => 'E_CORE_ERROR',
'32' => 'E_CORE_WARNING',
'64' => 'E_COMPILE_ERROR',
'128' => 'E_COMPILE_WARNING',
'256' => 'E_USER_ERROR',
'512' => 'E_USER_WARNING',
'1024' => 'E_USER_NOTICE',
'6143' => 'E_ALL',
'2048' => 'E_STRICT',
'4096' => 'E_RECOVERABLE_ERROR',
'8192' => 'E_DEPRECATED',
'16384' => 'E_USER_DEPRECATED');

function err_handler($num, $str, $file, $line) {

global $user,$error,$error_types;

//errors not to record
$silent = array(8,2048,8192);

if(in_array($num,$silent))


Ta linia zaznaczona pogrubieniem , co w niej jest nie tak ?

Liczę że pomożecie choć troszkę smile.gif
zelu
Cytat
Maximum execution time of 30 seconds exceeded


Przekroczono czas wykonywania skryptu (domyślnie 30 sekund).

Masz pewnie jakąś nieskończoną pętle albo inny kwiatek tego rodzaju winksmiley.jpg

Pozdro
danielntk
hej

testuję ten skrypt na webserv , może to być tego wina w ustawieniach programu, czy może trzeba będzie zmienić czas oczekiwania skryptu na np. 1 minutę smile.gif
zelu
Ale skrypty nie powinny się tak długo wykonywać. Pokaż lepiej kod to może znajdziemy jakieś rozwiązanie
danielntk
  1. <?php
  2.  
  3. /**
  4.  * error_handler.php
  5.  *
  6.  * @version 1.0
  7.  * @copyright 2008 by Anthony for XNova Redesigned
  8.  */
  9.  
  10. //This will log error to the database
  11.  
  12. $error_types = array(
  13. '1' => 'E_ERROR',
  14. '2' => 'E_WARNING',
  15. '4' => 'E_PARSE',
  16. '8' => 'E_NOTICE',
  17. '16' => 'E_CORE_ERROR',
  18. '32' => 'E_CORE_WARNING',
  19. '64' => 'E_COMPILE_ERROR',
  20. '128' => 'E_COMPILE_WARNING',
  21. '256' => 'E_USER_ERROR',
  22. '512' => 'E_USER_WARNING',
  23. '1024' => 'E_USER_NOTICE',
  24. '6143' => 'E_ALL',
  25. '2048' => 'E_STRICT',
  26. '4096' => 'E_RECOVERABLE_ERROR',
  27. '8192' => 'E_DEPRECATED',
  28. '16384' => 'E_USER_DEPRECATED');
  29.  
  30. function err_handler($num, $str, $file, $line) {
  31. global $user,$error,$error_types;
  32.  
  33. //errors not to record
  34. $silent = array(8,2048,8192);
  35.  
  36. if(in_array($num,$silent))
  37. return true;
  38.  
  39.  
  40. include(ROOT_PATH . 'config'.UNIVERSE.'.php');
  41. $error = array();
  42.  
  43. //errors to die from
  44. $fatal = array(256);
  45.  
  46. if(!$link){
  47. $link = mysql_connect($dbsettings["server"], $dbsettings["user"],$dbsettings["pass"]) or die(mysql_error());
  48. mysql_select_db($dbsettings["name"]) or die(mysql_error());
  49. }
  50.  
  51. $err = explode("^|^",$str,4);
  52. $str = $err[0];
  53. $error['type'] = $err[1];
  54.  
  55. if(strlen($err[2]) > 0){ $file = $err[2]; }
  56. if(intval($err[3]) > 0){ $line = $err[3]; }
  57.  
  58. $die = true;
  59. if(!$error['type']){
  60. $error['type'] = $error_types[$num];
  61. if(!in_array($num,$fatal)){
  62. $die = false;
  63. }
  64. }
  65.  
  66. if(($error['type'] == 'E_NOTICE') || ($error['type'] == 'E_STRICT') || (error_reporting() == 0)){
  67. //Its a minor thing, or we have be told not to notice it.
  68. }else{
  69. echo $str.'-'.$file.'-'.$line."-".$error_types[$num]."<br />";
  70. $query = "INSERT INTO {{table}} SET
  71. `error_sender` = '".intval($user['id'])."' ,
  72. `error_time` = '".time()."' ,
  73. `error_type` = '".mysql_escape_string($error['type'])."' ,
  74. `error_text` = '".mysql_escape_string($str)."' ,
  75. `error_page` = '".mysql_escape_string($file).": Line ".intval($line)."';";
  76. //`error_text` = '".mysql_escape_string($error['message'])."' ,
  77.  
  78. $sqlquery = mysql_query(str_replace("{{table}}", $dbsettings["prefix"].'errors',$query)) or die('error fatal: '.mysql_error());
  79. $query = "explain select * from {{table}}";
  80. $q = mysql_fetch_array(mysql_query(str_replace("{{table}}", $dbsettings["prefix"].'errors', $query))) or die('error fatal: '.mysql_error());
  81.  
  82. $message = "Sorry, there has been an error, please give the following error code to an admin and tell him what you were doing: <b>".$q['rows']."</b>";
  83.  
  84. if($die){
  85. if (!function_exists('message')){ die($message); }
  86. else{ message($message,"Error (".$error['type'].")"); }
  87. }else{
  88. //echo $message."<br />";
  89. }
  90. }
  91.  
  92. /* Don't execute PHP internal error handler */
  93. return true;
  94. }
  95.  
  96. set_error_handler("err_handler");
  97.  
  98. function ReportError($message,$title,$backtrace = 0){
  99. $info =debug_backtrace();
  100. trigger_error($message."^|^".$title."^|^".$info[$backtrace]['file']."^|^".$info[$backtrace]['line']);
  101. }
  102.  
  103. ?>


Podałem kod z jednego pliku, cały skrypt ma może tysiąć plików heh
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.