Es ist auf jeden Fall so, dass aus irgendeinem Grund die datei.php immer und immer wieder ausgeführt wird, in einer endlos-Schleife, aber warum dies passiert, ist mir mit den mom Informationen nicht nachvollziehbar, und ich habe ehrlich gesagt auch nicht die Lust und Zeit dazu ;)
Ich dachte zuerst, dass er nach dem exec() der anderen Datei in der neuen Datei einen Error verursacht, weil die Rechte für das Verzeichnis nicht mehr stimmen, in das du schreiben willst, und dass er deswegen warum auch immer in ein LOOP fällt.
Ich weiß jetzt auch nicht mehr weiter. Vielleicht mal PHP neu installieren, kA
Edit: Und normalerweise startet man auch keine PHP Datei in einer anderen PHP Datei, das ist von der Logik her völliger Blödsinn, vor allem, wenn dann die "Main" Datei auch noch im Browser ausgeführt wird. Wenn man eine PHP Datei in einer anderen PHP Datei haben will, dann benutzt man da normalerweise include() oder require() oder require_once() je nachdem, was man halt braucht.
exec() system() System-Crash, need help
Re: exec() system() System-Crash, need help
Doch,
wenn die erste php nicht vom evtl fehler oder sonstirgendwelchen Gründen in der zweiten beeinträchtigt werden soll.
include() oder require() oder require_once() bringen da nichts.
wenn die erste php nicht vom evtl fehler oder sonstirgendwelchen Gründen in der zweiten beeinträchtigt werden soll.
include() oder require() oder require_once() bringen da nichts.
Re: exec() system() System-Crash, need help
Versteh ich nicht...
Ob die erste PHP Datei nun bis zum require oder bis zum exec einen Fehler hat, in beiden Fällen wird die 2. PHP Datei nicht ausgeführt.
Wenn die 2. PHP Datei einen Error verursacht, wird dieser in beiden Fällen auch die 1. PHP Datei lahm legen. Oder was meinst du jetzt genau ? Für mich ist das in diesem Fall exakt das gleiche.
Ob die erste PHP Datei nun bis zum require oder bis zum exec einen Fehler hat, in beiden Fällen wird die 2. PHP Datei nicht ausgeführt.
Wenn die 2. PHP Datei einen Error verursacht, wird dieser in beiden Fällen auch die 1. PHP Datei lahm legen. Oder was meinst du jetzt genau ? Für mich ist das in diesem Fall exakt das gleiche.
-
majortermi
- Userprojekt

- Posts: 916
- Joined: 2002-06-17 16:09
Re: exec() system() System-Crash, need help
Interessant, diese Funktion kannte ich noch gar nicht.kase wrote:PHP hat ein eigenes Process-Handling, sehr ähnlich dem von Linux. Man kann sich ganz einfach einen Child mit $childpid = pcntl_fork(); im parent machen.
Kennst du auch eine Möglichkeit in PHP Threads zu erzeugen - bei mehreren Prozessen müsste ich die Kommunikation und Synchronisierung ja recht umständlich über Pipes oder Shared Memory bzw. über Semaphores lösen. Gibt es da eine einfachere Möglichkeit (so etwa wie das Multithreading in Java)?
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
Warum man sich an diese Reihenfolge halten sollte...
Re: exec() system() System-Crash, need help
Ich kenne mich in diesem Gebiet nicht so aus, normalerweise sollten sich die Childs ja vom Kernel auf die verschiedenen CPUs verteilen.
Diese Eigenschaft von Java, dass sich zB Arrays ( entweder mit Arraylist oder Vector, eins von den beiden macht es, das andere nicht, kA ;) ) automatisch für die verschiedenen Threads synchronisieren kann PHP glaube ich nicht. Du könntest das Array aber wie du selbst schon gesagt hast direkt ins shared memory legen. Zumindest bei dem shm Modul wird das Array fehlerfrei durch ein serialize() automatisch und sicher abgespeichert. Von dem shmop Modul kann ich dir aber nur abraten, machte bei mir nur Probleme.
Vielleicht steht zu deinem Vorhaben aber noch etwas in den Usercomments zu den shared memory oder semaphore Referenzen.
Diese Eigenschaft von Java, dass sich zB Arrays ( entweder mit Arraylist oder Vector, eins von den beiden macht es, das andere nicht, kA ;) ) automatisch für die verschiedenen Threads synchronisieren kann PHP glaube ich nicht. Du könntest das Array aber wie du selbst schon gesagt hast direkt ins shared memory legen. Zumindest bei dem shm Modul wird das Array fehlerfrei durch ein serialize() automatisch und sicher abgespeichert. Von dem shmop Modul kann ich dir aber nur abraten, machte bei mir nur Probleme.
Vielleicht steht zu deinem Vorhaben aber noch etwas in den Usercomments zu den shared memory oder semaphore Referenzen.