PHP execution time exeeded
Hallo, ich schlage mich seit einiger Zeit mir einer Website rum, die auf meinem Server nicht so richtig funktionieren will. Ich bin allerdings der Meinung, dass der Server richtig konfiguriert ist, da sämtliche anderen Sites problemlos laufen. Das Problem äussert sich so, dass sporadisch nur weiße Seiten angezeigt werden. In den logs finden sich dann solche Einträge: PHP Fatal error: Maximum execution time of 60 seconds exceeded in /srv/www/vhosts/website/http/index.php on line 339, Mein erster Versuch die maximale execution time von 30s auf 60s anzuheben hat zwar schon zu einer Verbesserung geführt, das Problem aber noch nicht behoben. Ich weiß allerdings auch nicht genau, was diesen Fehler verursacht bzw. wodurch er ausgelöst wird. Ich weiß nur, dass bei der angegebenen Zeilennummer eine while-Schleife zu finden ist. Die Frage ist nun die: liegts am Server oder an der Programmierung (Endlosschleife etc.)? Ich habe den Code nicht selbst geschrieben und weiß daher nicht genau, was da passiert. Irgendwelche Vorschläge? Details: OS: openSuSE Linux 10.2 Apache: 2.2.3 PHP: 5.2.0 with Suhosin-Patch 0.9.6.1 (cli) Gruß Sven signature.asc Description: This is a digitally signed message part.
Re: PHP execution time exeeded
Hallo Sven, um das beantworten zu können, wäre es sehr hilfreich, wenn Du das while mal mit copy und paste per mail senden könntest. Ohne etwas zu sehen gibt es nur raten. Mein erster Tipp ist die Programmierung oder der server hat zu wenig resourcen wie CPU und RAM. Gruß Mario On 9/10/07, Sven Kobow [EMAIL PROTECTED] wrote: Hallo, ich schlage mich seit einiger Zeit mir einer Website rum, die auf meinem Server nicht so richtig funktionieren will. Ich bin allerdings der Meinung, dass der Server richtig konfiguriert ist, da sämtliche anderen Sites problemlos laufen. Das Problem äussert sich so, dass sporadisch nur weiße Seiten angezeigt werden. In den logs finden sich dann solche Einträge: PHP Fatal error: Maximum execution time of 60 seconds exceeded in /srv/www/vhosts/website/http/index.php on line 339, Mein erster Versuch die maximale execution time von 30s auf 60s anzuheben hat zwar schon zu einer Verbesserung geführt, das Problem aber noch nicht behoben. Ich weiß allerdings auch nicht genau, was diesen Fehler verursacht bzw. wodurch er ausgelöst wird. Ich weiß nur, dass bei der angegebenen Zeilennummer eine while-Schleife zu finden ist. Die Frage ist nun die: liegts am Server oder an der Programmierung (Endlosschleife etc.)? Ich habe den Code nicht selbst geschrieben und weiß daher nicht genau, was da passiert. Irgendwelche Vorschläge? Details: OS: openSuSE Linux 10.2 Apache: 2.2.3 PHP: 5.2.0 with Suhosin-Patch 0.9.6.1 (cli) Gruß Sven -- Apache HTTP Server Mailing List users-de unsubscribe-Anfragen an [EMAIL PROTECTED] sonstige Anfragen an [EMAIL PROTECTED] --
Re: PHP execution time exeeded
On Mon, Sep 10, 2007 at 11:23:42AM +0200, James Blond wrote: Ohne etwas zu sehen gibt es nur raten. Mein erster Tipp ist die Programmierung oder der server hat zu wenig resourcen wie CPU und RAM. Du meinst, mit einer schnelleren CPU wird die Endlosschleife eher beendet? Raiduck'n runner -- Apache HTTP Server Mailing List users-de unsubscribe-Anfragen an [EMAIL PROTECTED] sonstige Anfragen an [EMAIL PROTECTED] --
Re: PHP execution time exeeded
Servus Mario, hier die schleife: // {wbvar ...} finden und entsprechend einsetzen while(stristr($c,'{wbvar')) { $ii= stristr($c,{wbvar); $paras = split( ,substr($ii,1,strpos($ii,})-1)); $ii = stristr($c,{wbvar); $c = substr($c,0,strlen($c)-strlen($ii)). $$paras[1].substr(stristr($ii,}),1); }; was da allerdings genau geschieht kann ich auch nicht sagen. kann leider nicht mehr code rausgeben, da er mir nicht gehört. was den zweiten punkt angeht halte ich das für unwahrscheinlich: dual intel xeon 3Ghz (HT) 2GB DDR2 Ram daran sollte es also nicht liegen. hatte vergessen zu erwähnen, dass es sich um x64_86 Linux handelt. vielleicht ist das ja von einer gewissen relevanz?! gruß sven Hallo Sven, um das beantworten zu können, wäre es sehr hilfreich, wenn Du das while mal mit copy und paste per mail senden könntest. Ohne etwas zu sehen gibt es nur raten. Mein erster Tipp ist die Programmierung oder der server hat zu wenig resourcen wie CPU und RAM. Gruß Mario On 9/10/07, Sven Kobow [EMAIL PROTECTED] wrote: Hallo, ich schlage mich seit einiger Zeit mir einer Website rum, die auf meinem Server nicht so richtig funktionieren will. Ich bin allerdings der Meinung, dass der Server richtig konfiguriert ist, da sämtliche anderen Sites problemlos laufen. Das Problem äussert sich so, dass sporadisch nur weiße Seiten angezeigt werden. In den logs finden sich dann solche Einträge: PHP Fatal error: Maximum execution time of 60 seconds exceeded in /srv/www/vhosts/website/http/index.php on line 339, Mein erster Versuch die maximale execution time von 30s auf 60s anzuheben hat zwar schon zu einer Verbesserung geführt, das Problem aber noch nicht behoben. Ich weiß allerdings auch nicht genau, was diesen Fehler verursacht bzw. wodurch er ausgelöst wird. Ich weiß nur, dass bei der angegebenen Zeilennummer eine while-Schleife zu finden ist. Die Frage ist nun die: liegts am Server oder an der Programmierung (Endlosschleife etc.)? Ich habe den Code nicht selbst geschrieben und weiß daher nicht genau, was da passiert. Irgendwelche Vorschläge? Details: OS: openSuSE Linux 10.2 Apache: 2.2.3 PHP: 5.2.0 with Suhosin-Patch 0.9.6.1 (cli) Gruß Sven -- Apache HTTP Server Mailing List users-de unsubscribe-Anfragen an [EMAIL PROTECTED] sonstige Anfragen an [EMAIL PROTECTED] -- -- Sven Kobow Universität Paderborn Sportmedizinisches Institut - Rechnerbetrieb Raum SP1-501 FON: +49 (05251) 60-3586 MAIL: [EMAIL PROTECTED] signature.asc Description: This is a digitally signed message part.
Re: PHP execution time exeeded
Hallo! Sven schrieb: // {wbvar ...} finden und entsprechend einsetzen while(stristr($c,'{wbvar')) { $ii= stristr($c,{wbvar); $paras = split( ,substr($ii,1,strpos($ii,})-1)); $ii = stristr($c,{wbvar); $c = substr($c,0,strlen($c)-strlen($ii)). $$paras[1].substr(stristr($ii,}),1); }; Wie die Beschreibung vom Code schon sagt: {wbvar ...} finden und dann zerlegen. Der Inhalt des While selber ist nicht Zeit aufwendig. Das bißchen suchen ist IMHO schnell abgearbeitet. Die Frage ist nur, wie groß der input string $c ist. Ich denke, das die größe des Strings das in die Länge zieht. Rainer schrieb: Du meinst, mit einer schnelleren CPU wird die Endlosschleife eher beendet? Ist das eine Fangfrage? Sven schrieb: dual intel xeon 3Ghz (HT) 2GB DDR2 Ram An sich mehr als ausreichen für die meisten PHP Anwendungen. Oder ist das ein shared vhost? um x64_86 Linux handelt. Ob das was mit den 64 bit zu tun hat, weiß ich nicht, da habe ich noch keine Erfahrungen gesammelt. Gruß Mario -- Apache HTTP Server Mailing List users-de unsubscribe-Anfragen an [EMAIL PROTECTED] sonstige Anfragen an [EMAIL PROTECTED] --
Re: PHP execution time exeeded
On Mon, Sep 10, 2007 at 10:59:21AM +0200, Sven Kobow wrote: Hallo, Das Problem äussert sich so, dass sporadisch nur weiße Seiten angezeigt werden. In den logs finden sich dann solche Einträge: PHP Fatal error: Maximum execution time of 60 seconds exceeded in /srv/www/vhosts/website/http/index.php on line 339, Mein erster Versuch die maximale execution time von 30s auf 60s anzuheben hat zwar schon zu einer Verbesserung geführt, das Problem aber noch nicht behoben. Richtig, sondern nur verschoben. Ich weiß allerdings auch nicht genau, was diesen Fehler verursacht bzw. wodurch er ausgelöst wird. Ich weiß nur, dass bei der angegebenen Zeilennummer eine while-Schleife zu finden ist. Die Frage ist nun die: liegts am Server oder an der Programmierung (Endlosschleife etc.)? Ich habe den Code nicht selbst geschrieben und weiß daher nicht genau, was da passiert. Das Script versuchen zu debuggen. Was macht das Script? Paul -- : Bitte einen Realname benutzen, unter dem Zitat antworten : und einfache Text-Mails senden (kein HTML). : Danke. signature.asc Description: Digital signature
Re: PHP execution time exeeded
Hallo Sven! Sven Kobow schrieb: Servus Mario, hier die schleife: // {wbvar ...} finden und entsprechend einsetzen while(stristr($c,'{wbvar')) { $ii= stristr($c,{wbvar); $paras = split( ,substr($ii,1,strpos($ii,})-1)); $ii = stristr($c,{wbvar); $c = substr($c,0,strlen($c)-strlen($ii)). $$paras[1].substr(stristr($ii,}),1); }; was da allerdings genau geschieht kann ich auch nicht sagen. kann leider nicht mehr code rausgeben, da er mir nicht gehört. Dann finde es doch heraus. Lasse Dir in der Schleife $ii und $c ausgeben. Zur Übersichtlichkeit eventuell einfach einen Zähler mitlaufen lassen und ausgeben. Ich vermute, dass Du dann siehst wann und warum die while-Bedingung unendlich oft wahr ist. Und dann sollte es Dir über http://www.php.net/manual/de/indexes.php möglich sein zu verstehen was da passiert. [...] Grüße von Dirk -- Apache HTTP Server Mailing List users-de unsubscribe-Anfragen an [EMAIL PROTECTED] sonstige Anfragen an [EMAIL PROTECTED] --