ID: 13977 Updated by: jeroen Reported By: [EMAIL PROTECTED] Status: Open Bug Type: Reproducible crash Operating System: Windows 2000 SP2 PHP Version: 4.0.6 New Comment:
Derick wrote: > Please include the shortest possible script (preferrably link to it) that crashes >PHP. Is this the shortest?? Try to weed out lines until it doesn't crash anymore, because your script is a bit too long to check, and it's not self-containing either, it won't run because of parse errors and missing includes. YOu say it's because of DB access, try to do the specific queries only, and nothing else. Previous Comments: ------------------------------------------------------------------------ [2001-11-09 07:02:42] [EMAIL PROTECTED] Hi all, the problem is, that the script not allways crashes. It just crashes on my home pc with amd-cpu. I also put the script online (Linuxbox, Kernel 2.2.16, mod_php-4 (4.0.6), Apache/1.3.19 (Unix) (SuSE/Linux), MySQL 3.23.43 ,and there it runs perfectly: Here is the script: ===================================================== <?php //// Version 0.1 //// hcms_fe_engine.php //// ( Frontendengine ) //// Gibt den Inhalt der Site für WebUser aus ///////////////////////////////////////////////////////////// // Sessionverwaltung einbinden include ('hcms_fe_session.php'); // Allgemeine Konfiguration einbinden include('hcms.init.php'); // Datenbankschnittstelle einbinden include ('hcms_smod_db.php'); // FE-Funktionen einbinden include('hcms_fe_functions.php'); // Site-Konfiguration aus DB holen $sConfig = getSiteConfig(); // Überprüfen, ob Site online ist if ($sConfig[online] == "n") { header("Location: hcms_fe_siteoffline.html"); // Ausweichdokument anzeigen } // Site ist online else { // Prüfung ob GenTime gewünscht if ($sConfig[showgentime] === "y") { // Start der Erstellungsdauer $timer = new cGenTime; $timer->start(); } /// ENDE Prüfung GenTime gewünscht //////// // // Seiten-Code erzeugen // //////// if (!isset($location)) { $location = 1; } /// Seitenkopf generieren echo("<html><head><title>$sConfig[sitename]</title></head><body bgcolor=\"#999966\">"); include('layouts/site.css'); // Main-Layout-Tabelle generieren echo ("<center> <table class=bodytab cellpadding=0 cellspacing=0 border=0 width=800>"); echo ("<tr><td colspan=3 height=81><img src=\"".$IMG_SITE."logo_head.png\" border=0 width=800></td></tr>"); echo("<tr><td colspan=3 height=10 valign=top width=800>"); // Main-Menu aus DB holen $mmenu = generate_menu(1,$location); echo("<table cellspacing=0 cellpadding=0 border=0 width=\"800\"> <tr><td class=conmenu> ");^ for ($i = 1; $i <= count($mmenu) - 1; $i++) { echo("$mmenu[$i] | "); } ^^^^^^^^^^^^^^^^^^^^^^^^ This is the part that crashes under Win2k.... The 3. iteration of the loop. Not everytime, but often.... echo("<a href=hcms_admin_login_form.php>Login</a>"); echo ("</td><td class=conmenu align=right>");echo(datum());echo("</tr></table>"); echo("</td></tr>"); // Kontextzeile einblenden echo("<tr><td class=fecx align=> <a href=\"$PHP_SELF\"><img src=\"pics_intern/news_haus.png\" border=0></a> <a href=\"mailto:$sConfig[webmaster]\"><img src=\"pics_intern/news_umschlag.png\" border=0></a> </td><td class=fecx><font color=white>Sie befinden sich <font color=orange><b> >>> </b></font> "); echo(getCX($location, $cx)); echo("</font></td><td class=fecx> </td></tr>"); echo("<tr><td class=tdsmenu valign=\"top\">"); // Sub-Menu aus DB holen get_subcats($location); /////////////////////////////////////////// // Content aus DB holen /////////////////////////////////////////// echo(" </td><td class=tdcontent valign=top>"); ////////////// if (isset($cx) && isset($idart)) { $file = renderCat($cx, $idart); include("$DYN_PATH$file"); // Temporäre Inc-Datei nach Verwendung löschen unlink("$DYN_PATH$file"); } elseif (isset($cx)) { $file = renderCat($cx, ""); include("$DYN_PATH$file"); // Temporäre Inc-Datei nach Verwendung löschen unlink("$DYN_PATH$file"); } else { $file = renderCat($location, ""); include("$DYN_PATH$file"); // Temporäre Inc-Datei nach Verwendung löschen unlink("$DYN_PATH$file"); } //////////////////////////////////////// echo("</td>"); // ENDE Content aus DB holen //////////////////////////////////////// ///////////////////////////////////////////// // Polls und Akutinfos aus DB holen echo("<td class=tdpoll>"); echo("Poll"); echo("</td>"); //// Ende Polls und Akutinfos aus DB holen ///////////////// echo("</tr></table></center><br>"); ///////////////////////////////////////////// /////// Nochmalige Prüfung ob Timer gewünscht if ($sConfig[showgentime] == "y") { // Zeit stoppen $timer->stop(); echo("<hr width=800><center>Diese Seite wurde generiert in "); $timer->showtime(); echo(" Sekunden</center>"); } ////////////////////////////////////////////// // Prüfen, ob Poweredby-Logo gewünscht if ($sConfig[showpoweredby] == "y") { echo("<br><center><a href=\"http://www.heavensoft.org\" target=_blank> <img src=\"pics_intern/hcms_logo.png\" border=0></a>"); } /// Seitenfuss generieren echo("</body></html>"); } // ENDE else Site ist online ?> ========================================================== thx a lot, Meikel Bode ------------------------------------------------------------------------ [2001-11-08 11:51:10] [EMAIL PROTECTED] Please include the shortest possible script (preferrably link to it) that crashes PHP. ------------------------------------------------------------------------ [2001-11-07 08:07:05] [EMAIL PROTECTED] I exatly mean the 3. interation of the for-loop!!! ------------------------------------------------------------------------ [2001-11-07 08:03:51] [EMAIL PROTECTED] Using Win2k/SP2, MySQL 3.23.44 Windows 95/98/NT/2000/XP on an AMD-Athlon-System. The problem is, that sometimes PHP crashes when getting data from the db. I'm using the following code-snip to generate an click-menu: ============================================================ // Get Main-Menu from database $mmenu = generate_menu(1,$location); echo("<table cellspacing=0 cellpadding=0 border=0 width=\"800\"> <tr><td class=conmenu> "); //// THIS IS THE PLACE WHERE PHP CRASHES. //// Not everytime, but often for ($i = 1; $i <= count($mmenu) - 1; $i++) { echo("$mmenu[$i] | "); } [...] ============================================================ I'm using more than one computer to work with the code and two diferent OS'ses (Win2k / SuSE-Linux 7.3). I just encountered problems with Win2k on the mashine with AMD-CPU. thx, Meikel Bode ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=13977&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]