Jump to content
xt:Commerce Community Forum

Imageprocessing läuft nicht mehr


PeterRabbit

Recommended Posts

Hallo zusammen,

seit einigen Tagen (vielleicht auch früher - hatte es länger nicht genutzt) läuft das Imageprocessing nicht mehr, d.h. nach dem Anstoßen des Prozesses läuft nichts mehr - es kommt noch nicht mal eine Fehlermeldung. Ich sehe unendlich lange die "Sanduhr" bis ich dann schließlich (nach 10 Min. o.ä.) selbst den Prozess abbreche.

Habe Version 3.0.4. SP2, bin bei Host Europe, die vor geraumer Zeit ein Update der PhP-Skripte auf 5.x durchgeführt haben.

Dort will oder kann man mir nicht helfen - wäre ja mein Problem ist die Aussage dort.

Habt Ihr eine Idee, womit das zusammen hängen könnte?

Vielen Dank und Gruß,

PeterRabbit

Link to comment
Share on other sites

Habt Ihr eine Idee, womit das zusammen hängen könnte?

Imageprocessing ist recheninstensiv. Das naheliegendste ist, daß das php-script es nicht schafft in der zur Verfügung stehenden Zeit (timeout) alle Bilder neu durchzurechnen.

Das ist ein Problem welches früher oder später bei jedem Shop auftritt wenn es zu viele Artikel mit zu vielen Bildern werden.

Ich habe hier im Forum mal irgendwann ein imageprocessing-Script gesehen (zum download) welche diesen Schwachpunkt umschifft. Allerding weiß ich nicht mehr wo. Vielleicht kennt jemand anderes die Quelle.

mfg

Link to comment
Share on other sites

Hallo Hubbabubba u.a.,

ich habe jetzt die Erklärung:

die Skript-Laufzeit bei Host Europe ist auf 30-45 Sek. eingestellt - also wird das Imageprocessing nicht mehr bei mir laufen können. Es gibt keine Lösung dafür - anderen Shopbeteibern, die viele Produkte - also auch viele Bilder - in ihrem Shop haben, müßte es aber ähnlich ergehen...

Viele Grüße

PeterRabbit

Link to comment
Share on other sites

Mojn,

hier mal ein Script, das ihr im image_processing.php einsetzt.

Die 10 bei $end_bild=$start_bild+10;

könnt ihr noch kleiner machen, wenn die Zeit nicht reicht oder eure Original-Bilder einfach zu gross sind.

Viele Grüße - Michael


  function process($file) {

    // include needed functions

    include ('includes/classes/'.FILENAME_IMAGEMANIPULATOR);

    @xtc_set_time_limit(0);

    // action

    // get images in original_images folder

    $files=array();

    if ($dir= opendir(DIR_FS_CATALOG_ORIGINAL_IMAGES)){

       while  ($file = readdir($dir)) {

         if (is_file(DIR_FS_CATALOG_ORIGINAL_IMAGES.$file) and (strtolower($file) !="index.html") and (strtolower($file) != "thumbs.db")){

            $f_type=strtolower(substr($file,-4));

            if($f_type==".png" OR $f_type==".gif" OR $f_type==".jpg")

              $files[]=array('id' => $file,'text' =>$file);

         }

       }

       closedir($dir);

    }

    $start_bild=(($_GET['filestart'])?$_GET['filestart']:0);

    $end_bild=$start_bild+10;

    for ($i=$start_bild;$i<$end_bild;$i++) {

      if($files[$i]['text']):

        $products_image_name = $files[$i]['text'];

        echo $i.' - '.$products_image_name;

        require(DIR_WS_INCLUDES . 'product_thumbnail_images.php');

        echo '  - Thumb: ok.';

        require(DIR_WS_INCLUDES . 'product_info_images.php');

        echo '  - Info: ok.';

        require(DIR_WS_INCLUDES . 'product_popup_images.php');

        echo '  - PopUp: ok.<br />';

      endif;

    }

    if(sizeof($files)>$end_bild):

      echo '<html><body><script type="text/javascript">';

      echo "location.href = '".HTTP_SERVER."/admin/module_export.php?set=&module=image_processing&action=save&filestart=".$end_bild."';";

      echo '</script></body></html>';

    else:

      echo '<script type="text/javascript">';

      echo "location.href = '".HTTP_SERVER."/admin/module_export.php?set=&module=image_processing';";

      echo '</script>';

    endif;

  }

Link to comment
Share on other sites

Anstelle von


      echo "location.href = '".HTTP_SERVER."/admin/module_export.php?set=&module=image_processing&action=save&filestart=".$end_bild."';";

      echo '</script></body></html>';

    else:

      echo '<script type="text/javascript">';

      echo "location.href = '".HTTP_SERVER."/admin/module_export.php?set=&module=image_processing';";

besser

        echo "location.href = '".HTTP_SERVER.DIR_WS_ADMIN."module_export.php?set=&module=image_processing&action=save&filestart=".$end_bild."';";

        echo '</script></body></html>';

      else:

        echo '<script type="text/javascript">';

        echo "location.href = '".HTTP_SERVER.DIR_WS_ADMIN."module_export.php?set=&module=image_processing';";

dann passt das auch, wenn der shop einem Unterverzeichnis liegt ;)

Link to comment
Share on other sites

  • 1 month later...

Mojn,

hier mal ein Script, das ihr im image_processing.php einsetzt.

Die 10 bei $end_bild=$start_bild+10;

könnt ihr noch kleiner machen, wenn die Zeit nicht reicht oder eure Original-Bilder einfach zu gross sind.

Viele Grüße - Michael

Vielen Dank erst einmal für Deine Idee mit der hier aufgeführten Lösung zum Imageprocessing Problem.

Leider hilft mir der Codeschnipsel nicht, da ich immer noch eine Fehlermeldung bekomme, dass der auf dem Server für mich reservierte RAM Speicher ausgenutzt ist ... und dabei habe ich nur insgesamt ca. 80 Produkte im Shop.

WAS KANN ICH NOCH TUN? Wie kann ich nun alle meine Produktbilder im Shop aktualisieren, sodass kein Rahmen mehr angezeigt wird? Shop lokal installieren?

Ich hoffe, dass noch jemand eine weiter Lösung hat [werde mich auch mal an meinen Provider (Webhostone) wenden]

Vielen Dank

Link to comment
Share on other sites

  • 3 months later...

Mojn,

hier mal ein Script, das ihr im image_processing.php einsetzt.

Die 10 bei $end_bild=$start_bild+10;

könnt ihr noch kleiner machen, wenn die Zeit nicht reicht oder eure Original-Bilder einfach zu gross sind.

Viele Grüße - Michael


  function process($file) {

    // include needed functions

    include ('includes/classes/'.FILENAME_IMAGEMANIPULATOR);

    @xtc_set_time_limit(0);

    // action

    // get images in original_images folder

    $files=array();

    if ($dir= opendir(DIR_FS_CATALOG_ORIGINAL_IMAGES)){

       while  ($file = readdir($dir)) {

         if (is_file(DIR_FS_CATALOG_ORIGINAL_IMAGES.$file) and (strtolower($file) !="index.html") and (strtolower($file) != "thumbs.db")){

            $f_type=strtolower(substr($file,-4));

            if($f_type==".png" OR $f_type==".gif" OR $f_type==".jpg")

              $files[]=array('id' => $file,'text' =>$file);

         }

       }

       closedir($dir);

    }

    $start_bild=(($_GET['filestart'])?$_GET['filestart']:0);

    $end_bild=$start_bild+10;

    for ($i=$start_bild;$i<$end_bild;$i++) {

      if($files[$i]['text']):

        $products_image_name = $files[$i]['text'];

        echo $i.' - '.$products_image_name;

        require(DIR_WS_INCLUDES . 'product_thumbnail_images.php');

        echo '  - Thumb: ok.';

        require(DIR_WS_INCLUDES . 'product_info_images.php');

        echo '  - Info: ok.';

        require(DIR_WS_INCLUDES . 'product_popup_images.php');

        echo '  - PopUp: ok.<br />';

      endif;

    }

    if(sizeof($files)>$end_bild):

      echo '<html><body><script type="text/javascript">';

      echo "location.href = '".HTTP_SERVER."/admin/module_export.php?set=&module=image_processing&action=save&filestart=".$end_bild."';";

      echo '</script></body></html>';

    else:

      echo '<script type="text/javascript">';

      echo "location.href = '".HTTP_SERVER."/admin/module_export.php?set=&module=image_processing';";

      echo '</script>';

    endif;

  }

Hallo und guten Tag!

Danke erst einmal für die Mühe...

Klappt auch ohne Probleme bis zum Bild Nr. 335 - der "Rest" der Bilddaten (ca. 700-800) wird leider nicht berücksichtigt.

Was die Schleifen betrifft, so habe ich nur solche gefunden, die auf dem unveränderten Original basieren und somit nicht anwendbar sind.

Ich habe leider auch keinerlei Erfahrung hinsichtlich der Programmierungen...

Kann vielleicht jemand helfen und mir einen Weg aufzeigen?

Vielen Dank schon einmal und einen schönen Tag noch!

Gruß

Frank

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...