PHP 4.0 Bug #6021 Updated: Script is getting killed although it doesn't consume very much memory
| From: | Bug Database | Date: | Tue, 08 Aug 2000 14:28:04 +0000 |
| Subject: | PHP 4.0 Bug #6021 Updated: Script is getting killed although it doesn't consume very much memory | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-28105@lists.php.net to get a copy of this message | ||
ID: 6021
Updated by: juhl
Reported By: juhl@eisenstein.dk
Status: Feedback
Bug Type: Other
Assigned To:
Comments:
The following script exhibits the described behaviour (the amount of time until the problem shows
itself can vary depending (I guess) on server load).
The function makeStrSafe() is defined in juhlFunctions.php and looks like this:
function makeStrSafe($str) {
$str = trim($str);
$str = eregi_replace("[^-a-zA-ZæøåÆØÅ 0-9.,_]", "", $str);
return $str;
}
The session.php file is rather large, and so is the db.php file that defines the db class (included
in session.php), so I'll only post them on request.
The err_return() function currently does nothing, it's just defined like this:
function err_return($a, $b) {
exit();
}
<?php
$INCLUDE_DIR = "/include/";
require($DOCUMENT_ROOT.$INCLUDE_DIR."juhlFunctions.php");
$username = makeStrSafe($username);
$password = makeStrSafe($password);
require($DOCUMENT_ROOT.$INCLUDE_DIR."session.php");
$k = makeStrSafe($k);
if ($k != $klub) {
$klub = $k;
}
session_register("klub");
if (empty($klub)) {
header("Location: http://".$SERVER_NAME."klubVaelger.php");
exit();
}
$dbase = new db;
if (!$dbase->connect()) {
err_return($dbase->errno, $dbase->errmsg);
}
$filename = "medlem_forside.php";
if (!($fp = fopen($filename, "r"))) {
err_return("r", "Kunne ikke åbne filen $filename");
}
if (!($contents = fread($fp, filesize($filename)))) {
err_return("r", "Kunne ikke læse filen $filename");
}
fclose($fp);
$dbase->query = "LOCK TABLES klub READ, person READ";
if (!$dbase->execQuery()) {
err_return($dbase->errno, $dbase->errmsg);
}
$dbase->query = "SELECT navn FROM klub WHERE post_id='$klub'";
if (!$dbase->execQuery()) {
err_return($dbase->errno, $dbase->errmsg);
}
if (mysql_num_rows($dbase->result) == 0) {
echo "Klubben findes ikke<br>";
exit();
}
$row = mysql_fetch_array($dbase->result);
$contents = eregi_replace("<klubNavn>", "$row[navn]", $contents);
$dbase->query = "SELECT fornavn, efternavn FROM person WHERE
post_id='$row[leder_id]'";
if (!$dbase->execQuery()) {
err_return($dbase->errno, $dbase->errmsg);
}
$row = mysql_fetch_array($dbase->result);
$contents = eregi_replace("<klubLederNavn>", $row[fornavn]."
".$row[efternavn], $contents);
$dbase->query = "UNLOCK TABLES";
if (!$dbase->execQuery()) {
err_return($dbase->errno, $dbase->errmsg);
}
echo $contents;
?>
Full Bug description available at: http://bugs.php.net/?id=6021