Ich hab da ein kleines Prob mit meinem Webserver. Ich hab da wohl per PHP eine Endlosschleife programmiert. Das lässt aber den Apache seinen Dienst einstellen (Taskmanager zeigt Vollausschlag und die komplette Systemleistung wird vom Apache abgesogen). Webseiten sind nicht mehr ansprechbar. Als Fehler wirft er folgendes raus:
[Thu Apr 20 13:39:20 2006] [notice] Apache/2.0.54 (Win32) mod_ssl/2.0.54 OpenSSL/0.9.8 PHP/4.4.0 mod_autoindex_color configured -- resuming normal operations
[Thu Apr 20 13:39:20 2006] [notice] Server built: Jul 28 2005 18:10:37
[Thu Apr 20 13:39:20 2006] [notice] Parent: Created child process 2044
[Thu Apr 20 13:39:22 2006] [notice] Child 2044: Child process is running
[Thu Apr 20 13:39:22 2006] [notice] Child 2044: Acquired the start mutex.
[Thu Apr 20 13:39:22 2006] [notice] Child 2044: Starting 250 worker threads.
Wie kann ich den wieder stoppen? Wie kann ich sowas von vornherein verhindern? Was ist da überhaupt passiert?
Hm also ich hätte den gekillt und neu gestartet.
Ob man in der Konfig sowas überhaupt verhindern kann?
Außer vielleicht man kann die Anzahl dieser WorkerThread irgendwie limitieren.
Ich hab den hier in einer XAMPP-Installation. Da gibt es so ein Control-Panel. Wenn ich ihn da stoppen will, sagt er, dass er busy ist. Gibt es sonst noch Möglichkeiten, ihn zu killen?
Roi laesst Webserver nur auf Linux laufen. Insofern bin ich da recht ahnungslos.
Aber ich haett mal in die Dienste reingeschaut (Systemsteuerung / Verwaltung) und versucht, den Apachen dort zu stoppen. Sollte es dort nen Apache-Dienst geben, dann versuch, den zu beenden und falls der Task immer noch da ist ueber den Taskmanager nachzulegen. So hab ich bisher alles klein bekommen. Ansonsten natuerlich n Reboot.
Ueber die Config sowas zu verhindern, k.A., Endlosschleifen auf dem Linux-Apache hat der immer problemlos weggesteckt, die Fehlermeldung kenn ich auch nicht.
/EDIT: Natuerlich koenntest auch mal n Update fahren damit Du eventuell ein paar Bugs loswirst. Aber daran wirds eventuell natuerlich gar nicht liegen. Vom 2.0.x gibts inzwischen naemlich die .55er Version.
2.2.0 erschienen. Hm… Gar ned mitbekommen. Ich fahre eh noch den 1.3.x Apachen und bin voll zufrieden. Soll/muss/kann man upgraden auf ne 2er-Version und falls ja, auf welchen Releasezweig? Von der 2.0.x hoer ich immer nur, dass sie Probleme macht, bei der 2.2.0 steht nun folgendes:
So, ich hab da mal wieder eine Apache-Frage. Diesmal geht es um ein Konfigurationsproblem. Ein Kollege hat in einem PHP-Skript eine Endlosschleife gecodet. Der Server hat nach 1200 Sekunden erst abgebrochen (Maximum Execution Time 1200). Diesen Wert würde ich gerne runtersetzen. Wo kann ich das einstellen. Ich hab in der httpd.conf nix gefunden. Da gibt es nur die Angabe Timeout und die steht auf 300. Kann mir jemand helfen? Roi?
hm 1200 sekunden, das ist aber ein krasser wert. also ich haette spontan gesagt, dass das nicht in der httpd.conf steht sondern in der entsprechenden php.ini und dort so heisst:
max_execution_time = 30 ; Maximum execution time of each script, in seconds
30 sekunden sind es bei meinen php.ini’s, das scheint auch der standardwert zu sein.
ps:
als systemueberwachungstool fuer alle moeglichen dienste bin ich letztens auf monit gestossen und verwende das neben einem selbst programmierten tool zwischenzeitlich auch und bin sehr zufrieden.
der grillenserver laeuft uebrigens zwischenzeitlich auf 2.0.x, 2.2.x gibt es als debianpaket noch nicht. zusaetzlich gab es ein upgrade von php 4.4.x auf php 5.1.x, php laeuft nun auch nicht mehr als cgi sondern als fastcgi. das nur am rande.
Nachdem im Sommer das Upgrade auf Apache 2.0.x kam, habe ich heute nun das Update auf den Apache 2.2.x gemacht. PHP ist ueber FastCGI eingebunden, was die sicherste Konfiguration darstellt.
Irgendwie habe ich subjektiv das Gefuehl, dass alles deutlich schneller geht, v.a. wenn PHP/MySQL mit im Spiel ist. Kann aber auch nur eingebildet sein.
Das Upgrade lief ohne jegliche Probleme, der Server war nur wenige Minuten offline.
Falls jemand Probleme feststellt, bitte Bescheid sagen.
Habe mal wieder am Apachen gefummelt, genauer gesagt an der PHP FastCGI Geschichte und einen anderen „Starter“ eingebaut, mod-fcgid. Deswegen war vorhin ab und an das Forum weg. Sollte nun aber wieder alles tun, hoffentlich bleibt das auch so und ich muss keinen Fallback machen.
Subjektiv finde ich mal wieder, dass das alles schneller ist.