kills Geschrieben 11. April 2003 Geschrieben 11. April 2003 Hi Leute, ich habe ein Programm in dem ich eine String Variable immer wieder verlängere. immer schön nach dem ... $var .= "noch mehr text"; ... Prinzip. Nun bin ich an einer stelle angelangt wo ich denke das der Internetexplorer nicht mehr mitkommt da die Stringvariable zu "lang" wird. Weiss jemand die Maximale länge einer Stringvariable? Wie könnte ich eine Stringvariable "länger machen"? viele grüße kills -------------------- PS: Es besteht nicht die möglichkeit einfach weniger text in die variable zu schreiben, da das schon aufs äußerste optimiert ist! Zitieren
Jaraz Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von kills wo ich denke das der Internetexplorer nicht mehr mitkommt Wiese denkst du das? Strings sind in PHP nicht begrenzt. Der Speicher vom Skript selber kann dann höchstens die Begrenzung darstellen. Meisten sind das 8 MB. Gruß Jaraz Zitieren
Spike Geschrieben 11. April 2003 Geschrieben 11. April 2003 Hi, mir sind bisher keine Grenzen bekannt. Wie gibts du den String weiter? Fehlermeldung? Kannst du nicht 2 Strings benutzen und diese dann zusammenfügen? Zitieren
kills Geschrieben 11. April 2003 Autor Geschrieben 11. April 2003 also ich denke das der internetexplorer das nicht packt weil... wenn ich das script anwerfe und will 1nen Monat darstellen funzt es 100% bei 2..11 ebenfalls... nun wenn ich 12monate habe wird die folgender fehler angezeigt: (in diesem fall ist die variable ca. 16MB groß) ################## Die Seite kann nicht angezeigt werden. Die gewünschte Seite kann nicht angezeigt werden. -------------------------------------------------------------------------------- Versuchen Sie Folgendes: Öffnen Sie die messer-Homepage, und suchen Sie dann nach Links zu den gewünschten Informationen. Klicken Sie auf Aktualisieren oder wiederholen Sie den Vorgang später. Klicken Sie auf Suchen, um nach Informationen im Internet zu suchen. Sie können auch eine Liste verwandter Sites anzeigen. HTTP 500 - Interner Serverfehler Internet Explorer ###################### ---------- ich lasse eine while-schleife durchlaufen und verlängere den string dann bei jedem durchgang... Zitieren
kills Geschrieben 11. April 2003 Autor Geschrieben 11. April 2003 warum verschoben? ich hatte den thread doch im webdesign angelegt. Zitieren
Wolle Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von kills warum verschoben? ich hatte den thread doch im webdesign angelegt. Und da ist er falsch Webdesign ist alles was Clientseitig abläuft, also HTML, Javascript usw... Webserverprogrammierung ist alles was auf dem Server abläuft, also PHP, ASP, Perl oder Phyton... Steht ja auch so in der Forenbeschreibung Noch zu deinem Problem: Original geschrieben von kills nun wenn ich 12monate habe wird die folgender fehler angezeigt: (in diesem fall ist die variable ca. 16MB groß) In der php.ini wird der Speicher pro Prozess begrenzt, wie Jaraz oben schon geschrieben hat. Standardmäßig sind da 8 MB eingetragen. Falls du Zugriff auf die php.ini hast, kannst du mal versuchen diesen Wert zu erhöhen. Hab leider gerade keinen Rechner mit PHP hier und kann nicht nachschauen, wie der Wert genau heißt, sollte aber auch so zu finden sein. Zitieren
Spike Geschrieben 11. April 2003 Geschrieben 11. April 2003 In der php.ini ist das folgender Eintrag: memory_limit = 8M ; Maximum amount of memory a script may consume (8MB) Zitieren
*I C Q* Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von kills Die Seite kann nicht angezeigt werden. Die gewünschte Seite kann nicht angezeigt werden. Hmmm, das hat mit Deiner Variable IMHO recht wenig zu tun. Diese Meldung bekommst Du, wenn Du das eingestellte Zeitlimit auf Deinem Webserver überschreitest. Schau mal nach, was in Deiner httpd.conf als Timeout eingetragen ist. Dauert die Ausführung Deines Skripts bei 12 Monaten wesentlich länger als die Ausführung bei 11 Monaten? Dann liegt die Vermutung nahe, dass Du irgendwo 'nen Loop gebastelt hast! ICQ Zitieren
Spike Geschrieben 11. April 2003 Geschrieben 11. April 2003 Eine Loop benutzt er ja auch, nur könnte es tatsächlich sein das diese "endless" ist Evtl mal den Code posten? Übrigens ICQ das Timeout stellt man doch in der php.ini ein und nicht beim Apachen? Oder da nochmal extra? max_execution_time = 300 ; Maximum execution time of each script, in seconds Zitieren
*I C Q* Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von Spike Eine Loop benutzt er ja auch, nur könnte es tatsächlich sein das diese "endless" ist Yep, so war's gemeint! Original geschrieben von Spike Übrigens ICQ das Timeout stellt man doch in der php.ini ein und nicht beim Apachen? Oder da nochmal extra? Hmmm, wir hatten hier das gleiche Problem, und wir haben (jetzt wo Du's sagst, fällt's mir auch wieder ein ) das in beiden geändert. Macht ja auch Sinn, denn wenn Du in der php.ini 'nen Timeout von 10 Minuten setzt und beim Indianer eine von 30 Sec, dann bringt das wohl nicht wirklich viel, oder? ICQ Zitieren
kills Geschrieben 13. April 2003 Autor Geschrieben 13. April 2003 hi leute, also ich habe sicher kein endless loop gebaut!! ein server timeout ist es sicher auch nicht da der bei 60 sek liegt (serverseitig und php seitig) ich werde mal die maximale größe des scripts erhöhen( ich hab zugriff auf die php ini!) danke für die antworten gruss, kills Zitieren
jomama Geschrieben 14. April 2003 Geschrieben 14. April 2003 Mal ne ganz doofe Frage. Wie willst du den User dazu kriegen, eine Ewigkeit zu warten, bis er deine 16Mb runtergeladen hat? Da hätt ich die Seite schon lägst wieder geschlossen. IMHO Da geht doch der Nutzen ein bisserl den Bach runter, meinst du nicht? Zitieren
*I C Q* Geschrieben 14. April 2003 Geschrieben 14. April 2003 Original geschrieben von jomama Mal ne ganz doofe Frage. Wie willst du den User dazu kriegen, eine Ewigkeit zu warten, bis er deine 16Mb runtergeladen hat? Da hätt ich die Seite schon lägst wieder geschlossen. Ich vermute jetzt mal, dass die Seite im Intranet angezeigt werden soll. Gesetzt dem Fall die Firma verfügt über ein 10 Mbit-Netzwerk werden nach meiner Rechnung 1,25 MB/Sec. übertragen. Das heisst eine Seite dauert ca. 16 Sekunden, bis sie aufgebaut wird. Und 16 Sekunden wartet (nach einer Vorwarnung) wohl jeder User. ICQ Zitieren
kills Geschrieben 14. April 2003 Autor Geschrieben 14. April 2003 der ICQ hats drauf :-)) jo die site ist in nem 100Mbit Lan (Intranet) DPD Intranet wenn das euch was sagt ;-) Zitieren
jomama Geschrieben 14. April 2003 Geschrieben 14. April 2003 Dann ist das was anderes. Apropos(haut mich, wenn ich Blödsin rede), der Server Timeout bestimmt die maximale Übertragungsdauer, der PHP Timeout die maximale Zeit zur ausführung eines Scripts. Ich glaub aber irgendwie, bei nem 16MB String leidet die Übersichtlichkeit, aber du wirst schon wissen, was du tust. Kannst du den String nicht in ein Array packen und dann mit foreach ausgeben? Das wäre imho stylischer. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.