php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Umfrageergebnis anzeigen: Sind die Arbeitsspeicher der Provider zu knapp bemessen?
Immer ausreichend Speicher 0 0%
Es wird leider immer weniger 0 0%
Immer schon zu wenig gewesen 0 0%
Man muss sein Skript halt dementsprechend anpassen 0 0%
Multiple-Choice-Umfrage. Teilnehmer: 0. Sie dürfen bei dieser Umfrage nicht abstimmen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 26-01-2004, 20:46
kristobal
 Newbie
Links : Onlinestatus : kristobal ist offline
Registriert seit: Jan 2004
Beiträge: 4
kristobal ist zur Zeit noch ein unbeschriebenes Blatt
Unhappy Allowed memory size of 8388608 bytes exhausted (tried to allocate 81 bytes)

Ich habe den "kristobals Tageszaehler" hier zum herunterladen, und seit Beginn funktionierte er bei allen Anwendern klaglos. Nun habe ich aber in den letzten paar Tagen ein paar Mails bekommen mit der Fehlermeldung
" Allowed memory size of 8388608 bytes exhausted (tried to allocate 81 bytes) in /xxxxxxx/tageszaehler/systemliste.php on line 22"
oder ähnliche. Die Textdatei, die dabei verarbeitet wird, hat bei diesem Beispiel 171 kb, sie wird dabei mit folgendem text verarbeitet:
<?
$datum2=file("./datum2.txt");
?>
Der gleiche Fehler tritt auch bei den anderen Seiten auf, bei denen auch Textdateien zwischen 100 und 300 kb mit "explode" bearbeitet werden, z.B:
<?
$count4=count($datum);
$monate=array();
for($i=0;$i<=$count4-1;$i++){
$teilung=explode(".",$datum[$i]);
$monate[]="$teilung[1]$teilung[2]";
}
?>
Da der Tageszähler aber bei den meisten funktioniert, bin ich ein bisschen ratlos, was ich dagegen tun kann.
Kann mir hier jemand bitte helfen?
danke im Voraus!
PHP-Code:
<?  
$datum2
=file("./datum2.txt");  
?>
PHP-Code:
<?  
$count4
=count($datum);  
$monate=array();  
for(
$i=0;$i<=$count4-1;$i++){  
$teilung=explode(".",$datum[$i]);  $monate[]="$teilung[1]$teilung[2]";  
}  
?>
__________________
Der Horizont vieler Menschen ist ein Kreis mit dem Radius Null -- und das
nennen sie
dann ihren Standpunkt...

Geändert von kristobal (26-01-2004 um 22:32 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 26-01-2004, 20:59
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

so ne sinnlose umfrage brauchen wir nicht. *DEACTIVATE*

und dann sieht mir die meldung nach ner endlosschleife aus.

gesucht im forum hast du danach wohl auch nicht.

und deinen php-code lese ich auch nicht. ohne die php-tags des forums erkennt man nichts. und da du ne umfrage starten konntest, kannst du auch die php-tags selber rein machen.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #3 (permalink)  
Alt 26-01-2004, 21:14
kristobal
 Newbie
Links : Onlinestatus : kristobal ist offline
Registriert seit: Jan 2004
Beiträge: 4
kristobal ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja, im Forum habe ich zwei Beiträge gefunden, die mir aber auch nicht weitergeholfen haben. In einem davon war die Rede wegen des Speichers, darum die Umfrage.
Und wegen der Endlosschleife:
Warum funktioniert das Ding bei fast allen, und bei ein paar nicht? Dann wärs ja bei allen funktionsuntüchtig! Das ist es ja, was mich stutzig macht. Und das Problem gibts ja auch erst seit ein paar Tagen (ZB. Ein Mail eines Benützers:
"Hi, ich nutze Dein Tool schon einige Zeit und war bisher immer
zufrieden.
Doch jetzt kommt es beim Aufruf der "Monatshits" zu folgender
Fehlermeldung:
Fatal error: Allowed memory size of 31457280 bytes exhausted (tried to
allocate 35 bytes) in /home/www/web2/html/tageszaehler/monatsliste.php
on
line 32
"
Also kann ich das eigentlich nicht glauben?!?
__________________
Der Horizont vieler Menschen ist ein Kreis mit dem Radius Null -- und das
nennen sie
dann ihren Standpunkt...
Mit Zitat antworten
  #4 (permalink)  
Alt 26-01-2004, 21:18
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

da du ja imme in die textdatei schreibst, und dann immer file() zum auslesen nimmst, musste das ja mal kommen.

die daten sind einfach zu groß.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #5 (permalink)  
Alt 26-01-2004, 21:27
kristobal
 Newbie
Links : Onlinestatus : kristobal ist offline
Registriert seit: Jan 2004
Beiträge: 4
kristobal ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wenn die Textdatei kanpp 150 kilobyte hat, wie kann dann der Speicher mit 35 Megabyte überschritten werden?
Und es geht mir jetzt um noch ein Problem:
Ich weiss, dass ich die Daten anders abspeichern muss, da sonst mit jedem Besucher die Textdatei größer wird. Bisher wurde einfach mit jedem Besucher ein neuer Eintrag in die Textdatei geschrieben, ich will das sowieso ändern, so dass dann zum Beispiel nur jeder Monat dort steht, und dann die Anzahl der Besuche. Nur mache ich das rein hobbymässig, und bis ich das hinkrieg, vergeht doch einige Zeit. (Ich muss auch mal Geld verdienen...) Und bis dahin wäre es schön, wenn ich eine Zwischenlösung hätte, die die Benützer meines Tageszählers verwenden können!
__________________
Der Horizont vieler Menschen ist ein Kreis mit dem Radius Null -- und das
nennen sie
dann ihren Standpunkt...

Geändert von kristobal (26-01-2004 um 21:43 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 26-01-2004, 22:14
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

Wie wäre es damit innerhalb des Scriptes mal auf ein paar nicht mehr
benötigte Variablen ein unset() zu machen?
Das soll ja Wunder wirken, besonders bei Arrays und Objekten!

Eine Datei kann man im übrigen auch sequentiell auslesen, man muß
nicht immer alles auf einmal nehmen!
Ich persöinlich handle damit sogar 500MB Dateien!
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllPatrizier II Browsergame
Mit Zitat antworten
  #7 (permalink)  
Alt 26-01-2004, 22:17
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

interessnt wäre zu wissen, wieviel speicher denn wo verbruacht wird, wenn php ab 4.3.2 läuft, gibt's die funktion memory_get_usage dafür
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #8 (permalink)  
Alt 26-01-2004, 22:30
kristobal
 Newbie
Links : Onlinestatus : kristobal ist offline
Registriert seit: Jan 2004
Beiträge: 4
kristobal ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich glaub, ich bin ein kleines Depperl...
Das ist mein Script-Anfang:
PHP-Code:
$datum=file("./datum.txt");  
$zeit=file("./zeit.txt");  
$seite=file("./seite.txt");  
$ip=file("./ip.txt");  
$von=file("./von.txt");  
$browser=file("./browser.txt");  
$system=file("./system.txt");  
$host=file("./host.txt");  
//$datum2=file("./datum2.txt"); 
$ident=file("./ident.txt");  
$count1=count($datum);  
$count2=array_count_values($datum);  
$count3=count($count2);  
$count4=count($datum);  
$monate=array();  
for(
$i=0;$i<=$count4-1;$i++){  
$teilung=explode(".",$datum[$i]);  $monate[]="$teilung[1]$teilung[2]"
 }  
$count5=array_count_values($monate);  
$count6=count($count5);  
$monat=array_keys($count5);  
$besuche=array_values($count5); 
, und von den ganzen Arrays brauch ich pro Seite höchstens zwei! Wenn ich die anderen Arrays gar nicht einlese, müsste es ja dann wieder funktionieren? Die beiden Arrays selbst brauch ich dann allerdings schon und kann sie nicht mit unset löschen.
Leider weiss ich nicht, welche PHP die User meines Scripts verwenden, weil er einfach so zu herunterladen ist und sie ihn selbst in ihre Seiten einbauen.
Aber dass ich 9 Arrays einlese und sie nicht brauche ist naja... ääähhh...
Ich werde das mal ändern!
__________________
Der Horizont vieler Menschen ist ein Kreis mit dem Radius Null -- und das
nennen sie
dann ihren Standpunkt...
Mit Zitat antworten
  #9 (permalink)  
Alt 27-01-2004, 00:20
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

sowas ist immer ein guter Ansatz, nichts machen was nicht wirklich
benötigt wird.
Schau auch mal, ob du eventuell Operationen innerhalb von Schleifen
hast, die du genauso gut außerhalb der Schleife machen kannst.
...
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllPatrizier II Browsergame
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:43 Uhr.