Veröffentlicht 11. April 200322 j 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!
11. April 200322 j 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
11. April 200322 j 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?
11. April 200322 j 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...
11. April 200322 j 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.
11. April 200322 j In der php.ini ist das folgender Eintrag: memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
11. April 200322 j 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
11. April 200322 j 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
11. April 200322 j 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
13. April 200322 j 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
14. April 200322 j 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?
14. April 200322 j 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
14. April 200322 j der ICQ hats drauf :-)) jo die site ist in nem 100Mbit Lan (Intranet) DPD Intranet wenn das euch was sagt ;-)
14. April 200322 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.