Apache hängt sich auf...

Alles, was PHP betrifft, kann hier besprochen werden.

Postby thorsin » 06. March 2006 13:05

das ist das script, was das bild verkleinert und dann ausliefert...
reduziert um ein wenig smarty und xajax...
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby thorsin » 06. March 2006 13:08

endlich mal n error in der error.log, allerdings ohne große aussagekraft warum:
[Mon Mar 06 12:40:27 2006] [notice] Child 3972: Acquired the start mutex.
[Mon Mar 06 12:40:27 2006] [notice] Child 3972: Starting 10 worker threads.
[Mon Mar 06 12:40:27 2006] [notice] Child 3972: Starting thread to listen on port 443.
[Mon Mar 06 12:40:27 2006] [notice] Child 3972: Starting thread to listen on port 80.
[Mon Mar 06 12:43:25 2006] [notice] Child 3904: Terminating 3 threads that failed to exit.
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby Wiedmann » 06. March 2006 13:11

reduziert um ein wenig smarty und xajax...

Du hast das Script reduziert gepostet, oder nur das Orginal für dich angepasst (reduziert) und dann das angepasste komplett gepostet?

Das gepostete Script kann jedenfalls so wie gepostet nicht funktionieren.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby thorsin » 06. March 2006 13:26

wieso kann das nicht funktionieren?
es geht nur um den exec()-teil da drin, der rest funktioniert (db-querys etc. pp)...
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby Wiedmann » 06. March 2006 13:59

wieso kann das nicht funktionieren?

Deshalb ja die Frage, ob dass das ganze Script ist und hier so ist wie es bei dir nicht läuft..

Ich kann ja nur von dem ausgehen was du postet. Aber nehen wir einfach die ersten Zeilen:
Code: Select all
<?php
//ob_start();
error_reporting(E_ALL);

$smarty = new smarty();

Woher kommt die Klasse smarty()? Da fehlt dann zumindet ein include() vor dieser Zeile.

Code: Select all
if(DB::isError($db)) {
        die($db->getMessage());
}

$sql2 = 'SELECT name FROM *** WHERE ***='.$_GET['img_id'];
$tmp = $db->query($sql2);
if(DB::isError($tmp)) {
           die($tmp->getMessage());
       }
       
$tmp2 = $tmp->fetchrow();
$theFile = $tmp2[0];
$hash = md5($theFile);
$outfile = 'dir/dir/'.$hash.'.jpg'; 

Auch hier werden wieder Klassen benutzt die nicht vorhanden sind. Sind nach PEAR::DB aus. Fehlt also auch ein include().

Code: Select all
   echo ($retval);   
   
   if ($retval) {
[schnipp]
   }

Das bei Fehlerfrei der Returnvalue 0 ist, kann ich jetzt nur vermuten. Das erste echo() sollte aber auch innerhalb vom if sein.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby thorsin » 06. March 2006 14:03

ja, wie gesagt, das script alleine aufgerufen funzt ja und ich mag nicht meinen kompletten source hier posten, schon alleine der pfade wegen.
wenn das script mehrfach gleichzeitig aufgerufen wird gibts halt die probleme, annsonsten tuts genau das was es soll.

und ja: der return-wert ist 0 bei erfolgreicher ausführung ;-)
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby Wiedmann » 06. March 2006 14:10

und ich mag nicht meinen kompletten source hier posten, schon alleine der pfade wegen.

Wen interessieren deine Pfade? Zumindest solltest du das soweit posten, damit das gepostete überhaupt funktionieren kann... Und damit man genau im geposteten den Fehler nachstellen kann. Macht ja keinen Sinn zu raten, ob du einen bestimmten Punkt absichtlich weggelasen hast, oder er wirklich fehlt im Code...

wenn das script mehrfach gleichzeitig aufgerufen wird gibts halt die probleme, annsonsten tuts genau das was es soll.

Mehrfach gleichzeitig mit der selben Bildnummer? Die Dateien die IM erzeugt nennen sich ja immer gleich. Da können sich dann gleichzeige Schreibversuche in die selbe Datei schon ins Gehege kommen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby thorsin » 06. March 2006 14:14

LOL
externer zugriff funzt einwandfrei, nur mit localhost gehts nicht....
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby Wiedmann » 06. March 2006 14:16

Kommen wir nochmal auf das EnableSendfile zurück. Wo hast du das genau geändert? (und welchen XAMPP hattest du nochmal?)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby thorsin » 06. March 2006 14:27

1.5.1
in der httpd.conf, danach auch schön brav restartet
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby Wiedmann » 06. March 2006 14:38

Also in Zeile ~467. Das "#" hast auch weggemacht?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby thorsin » 06. March 2006 14:52

aba sischa dat...

Code: Select all
#
# EnableMMAP and EnableSendfile: On systems that support it,
# memory-mapping or the sendfile syscall is used to deliver
# files.  This usually improves server performance, but must
# be turned off when serving from networked-mounted
# filesystems or if support for these functions is otherwise
# broken on your system.
#
#EnableMMAP off
EnableSendfile off
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby thorsin » 06. March 2006 17:29

Win32DisableAcceptEx
reingeschrieben, nu läufts erstmal, mal schaun wie lange...
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby thorsin » 07. March 2006 09:01

nun denn, der spaß geht weiter...
nachdems ne zeitlang lief ein rückfall in alte zeiten...

nun hab ich mir gedacht: starteste apache mal nicht als service, gesagt getan. ergebnis: er ruft die tabelle auf, öffnet ne shell (soweit man das ne shell nennen darf unter windows) und läuft ins leere, weil die shell sich nicht schliesst....
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Previous

Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests