The_HulkMedlem sedan juni 20031 937 inlägg
med set_timeout(sec) kan man ställa in hur lång timeout det ska vara på ett script.
läste att man skulle kunna använda sig av register_shutdown_function(...) för att få att en funktion anropas när ett script avslutas och att man i den funktionen skulle kunna se hur det avslutades. Detta gjorde man genom att kolla vad det var för returvärde på connection_status()
man skulle även kunna ha sin egen felhanterare med hjälp avset_error_handler(...)
Har testat dessa funktioner på många olika sätt men inte fått de att fungera.
Ibland hänger mitt skript sig och man får ett tråkigt felmeddelande. Ville råda bot på detta.
Någon som har bra tipps?
monAmourMedlem sedan dec. 2002270 inlägg
Har du kikat på funktionen sleep?
http://se2.php.net/manual/en/function.sleep.php
T.ex. sleep(10) så stannar tolken upp 10 sekunder innan den exekverar skriptet vidare.
Är det något sådant du är ute efter?
The_HulkMedlem sedan juni 20031 937 inlägg
nä, vill kunna fånga upp felmeddelandena i skriptet.
med sleep så tar det ju bara längre tid.
med set_timeout begränsar man maxtiden som skriptet får exekvera.
monAmourMedlem sedan dec. 2002270 inlägg
Aha, nu fattar jag vad du är ute efter för något..
Får se vad du har hittills då, posta lite kod!
The_HulkMedlem sedan juni 20031 937 inlägg
Har detta i en fil jag alltid inkluderar så det finns med i alla skripten på hemsidan.
function check_shutdown() {
if (connection_status()==1)
echo "normal";
elseif (connection_status()==1)
echo "aborted";
elseif (connection_status()==1)
echo "timeout";
}
register_shutdown_function("check_shutdown");
// redefine the user error constants - PHP 4 only
define ("FATAL", E_USER_ERROR);
define ("ERROR", E_USER_WARNING);
define ("WARNING", E_USER_NOTICE);
// set the error reporting level for this script
error_reporting (FATAL | ERROR | WARNING);
// error handler function
function myErrorHandler ($errno, $errstr, $errfile, $errline)
{
switch ($errno) {
case FATAL:
echo "<b>FATAL</b> [$errno] $errstr<br />\n";
echo " Fatal error in line $errline of file $errfile";
echo ", PHP ".PHP_VERSION." (".PHP_OS.")<br />\n";
echo "Aborting...<br />\n";
exit(1);
break;
case ERROR:
echo "<b>ERROR</b> [$errno] $errstr<br />\n";
break;
case WARNING:
echo "<b>WARNING</b> [$errno] $errstr<br />\n";
break;
default:
echo "Unkown error type: [$errno] $errstr<br />\n";
break;
}
}
$old_error_handler = set_error_handler("myErrorHandler");
set_time_limit(5);
felhanteraren hittade jag på https://www.php.net så den borde ju fungera. Jag får inte längre några felmeddelande i min loggfil till webbservern men inte heller något i webbläsaren.
The_HulkMedlem sedan juni 20031 937 inlägg
argh, såg precis ett fel.
ska inte vara
function check_shutdown() {
if (connection_status()==1)
echo "normal";
elseif (connection_status()==1)
echo "aborted";
elseif (connection_status()==1)
echo "timeout";
}
utan
function check_shutdown() {
if (connection_status()==1)
echo "normal";
elseif (connection_status()==2)
echo "aborted";
elseif (connection_status()==3)
echo "timeout";
}
inte bra med "copy & paste" programmering
The_HulkMedlem sedan juni 20031 937 inlägg
Men det hjälpte ändå inte =(
QimenMedlem sedan juni 20013 568 inlägg
The_Hulk, avänd gärna kod taggarna så att man kan läsa koden bättre.
The_Hulk skrev:
Ibland hänger mitt skript sig och man får ett tråkigt felmeddelande.
Vad för tråkiga felmeddelanden får du exakt? :)