Ressourcenschonender Schleifendurchlauf

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ressourcenschonender Schleifendurchlauf

    Hallo,

    ich bekomme bei der ausführung meines skriptes eine nette meldung die mir sagt das ich viel zu viel speicher verbrauche ....

    skript wird von php gekillt

    hat jemand eine idee wie ich diese schleife speicher sparender durchlaufen kann ?
    PHP-Code:
    // gibt alle datensaetze als array zurueck
        // $data = $sitelink->get_all_data();
        // echo " <br> ".print_r( $data);
        
    function get_all_data(){
            
    $query "SELECT * FROM sitelink";
            
    $result super_query$query);
            
    $counter 0;
            unset( 
    $this->data);
            while( 
    $data mysql_fetch_row$result) ){
                while( list( 
    $key$val) = each$data ) ){
                    
    $this->data[$counter][$key] = $val;
                }
                
    $counter++;
            }
            return 
    $this->data;
        } 
    danke!

  • #2
    oh oh..
    hab gerade rausgefunden das der provider wo ich die seite online stellen wollte noch PHP 4.1.2 *steinzeit* betreibt !!!

    kann mir jemand sagen, ob bei PHP 4.1.2 ein anderes Speicherlimit existiert als bei 4.3.1 ?

    auf meinem lokalen webserver läuft das skript ohne probleme
    und ich habe nichts an den standart php einstellungen geändert.

    beim provider natürlich nicht ! nicht mal md5_file() gibt es dort! mist !

    bitte um hilfe !

    Kommentar


    • #3
      langsam glaube ich nicht mehr an meine schuld !

      PHP-Code:
      Fatal errorAllowed memory size of 31457280 bytes exhausted (tried to allocate 79 bytesin /opt/www/html/**********/phpMyAdmin/tbl_dump.php on line 27 
      kann jemand damit etwas anfangen?

      Kommentar


      • #4
        Naja. Bei einem Provider, der einem einzelnen Skript 32 MB Speicher erlaubt, kannst Du verdammt froh sein. Das musst Du schon selbst speicherschonender lösen... Erklär uns doch, was Du mit der Funktion zu tun beabsichtigst, vielleicht fällt hier jemandem was ein.

        Kommentar


        • #5
          wieso diese komplizierte Zuweisung ?

          PHP-Code:
          function get_all_data(){
          $query "SELECT * FROM sitelink";
          $result super_query$query);
          unset( 
          $this->data);
          while( 
          $this->data[] = mysql_fetch_row$result) );
          // hier das result wieder freigeben °°°
          return $this->data
          dürfte genau das selbe machen
          TBT

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


          PHP 2 AllPatrizier II Browsergame

          Kommentar


          • #6
            schaut euch mal genau den pfad an:

            PHP-Code:
            Fatal errorAllowed memory size of 31457280 bytes exhausted (tried to allocate 79 bytesin /opt/www/html/**********/phpMyAdmin/tbl_dump.php 
            ^^ das ist nicht mein skript das ist phpMyAdmin

            und dort hab ich beim besten willen nichts verändert.

            hat jemand eine idee ?

            Kommentar


            • #7
              mh... wie aber schon bereits erwähnt sind 31457280 bytes schon ne menge... klar, dass die hoster irgendwann nen riegel vorschieben...

              würde mal den hoster connecten, ob die dir vielleicht irgendwie helfen können!

              gruss

              Kommentar


              • #8
                jo, werde ich wohl mal machen müssen.

                ich hoffe die spendieren mir dabei auch gleich ein update auf die 4.3er PHP version

                danke für eure hilfe

                Kommentar


                • #9
                  aha hab den übeltäter gefunden !

                  ich glaube da sind die "436095" datensätze dran schuld !
                  die insgesamt auf eine größe von 21 mb kommen.

                  Kommentar

                  Lädt...
                  X