Barcode: PHP und große Daten?

Hallo,

ich betreibe einen Onlineshop und möchte Produktlisten für Preissuchmaschinen erstellen lassen die anschließend eingelesen werden können. Dies ist vom Prinzip her kein Problem, nur sind in meinem Shop ca. 40000 Produkte, sodass das Erstellen schon ziemlich lange dauern kann. Daher bricht das PHP Script ziemlich häufig ab, sodass die Daten nicht übermittelt werden.

Liegt das an dem Wert "max_execution_time" ?
Kann ich den über die PHP.ini verändern? Wenn ja, mit welchem Befehl und welche PHP.ini Datei sollte ich dafür nehmen?

Danke und MFG Barcode

  1. Hello,

    ich betreibe einen Onlineshop und möchte Produktlisten für Preissuchmaschinen erstellen lassen die anschließend eingelesen werden können. Dies ist vom Prinzip her kein Problem, nur sind in meinem Shop ca. 40000 Produkte, sodass das Erstellen schon ziemlich lange dauern kann. Daher bricht das PHP Script ziemlich häufig ab, sodass die Daten nicht übermittelt werden.

    Liegt das an dem Wert "max_execution_time" ?

    Billig betrachtet liegt das vermutlich an dieser Einstellung.
    Wenn Du sie hochsetzen darst, dann versusch es fürs erste damit.

    Genauer betrachtet liegt es natürlich auch an der Fehlertoleranz deines Scriptes unmd deiner DMLL (Data Manipulation Language Logic). Das sollte auf solche Dinge reagieren können und Handler für den Scriptabbruch vorsehen (register_shutdown_function()), bzw. Merker in  der DB für bereits bearbeitete Datensätze und/oder noch zu bearbeitende hinterlassen.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Wenn Du sie hochsetzen darst, dann versusch es fürs erste damit.

      --> Würde ich gern, aber ich weiß nicht wie. Hab nen virtuellen Server, denke also das ich das selber regeln darf.

      Das Script hab ich nicht selber entwurfen, sondern ich verwende ein vorgefertigten (Elmar, werden OSCommerce Nutzer früher oder später auch mal drauf stoßen ^^).

  2. Hallo,

    naja, ob das so eine gut idee ist? aber wo du die max_execution_time ändern solltest, findest du doch binnen minuten ausführlich überall im netz. phpinfo() sagt dir auch, welche php.ini du nimmst. kleine krücke allerdings: über konsole wird eine andere benutzt als über apache. hängt vom betriebssystem ab, wo die liegt, würd ich sagen. aber auch das findste im netz.

    Gruß

    jobo

    1. Hello,

      [...] aber auch das findste im netz.

      und lass uns die Open Source Software durch derartige Aussagen von JoboIsten auch wieder zurückführen ins Unbestimmte, Undurchschaubare, Mystische, Unabwendbare, M$istische ...

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
    2. Hallo,

      hab in der php.info gesucht und dort steht:
      /etc/php5/apache2/php.ini

      Wenn ich die php.ini über ssh verschiebe, dann runterlade, bearbeite und wieder zurück verschiebe ändert sich leider 0,nix...
      woran kann das schon wieder liegen? ^^

      Danke und MFG

      Barcode

      1. Hello,

        hab in der php.info gesucht und dort steht:
        /etc/php5/apache2/php.ini

        Wenn ich die php.ini über ssh verschiebe, dann runterlade, bearbeite und wieder zurück verschiebe ändert sich leider 0,nix...
        woran kann das schon wieder liegen? ^^

        Auch wenn Du die Datei dort direkt bearbeiten würdest ...

        Die Einstellungen werden immer erst beim Laden des PHP-Codes eingelesen. Dies geschieht, wenn PHP im Apachen als Modul imnstalliert ist, erst beim Neustart/Reload des Apache-Server.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Hello,

          Auch wenn Du die Datei dort direkt bearbeiten würdest ...

          Die Einstellungen werden immer erst beim Laden des PHP-Codes eingelesen. Dies geschieht, wenn PHP im Apachen als Modul imnstalliert ist, erst beim Neustart/Reload des Apache-Server.

          um das nochmals klarzustellen: gemeint ist das Executabel des Runtimes von PHP, nicht der Code des jeweiligen Scripts.

          Beim CGI wird ein je ein eigenes Executable als Shell ein Script geladen
          Beim Modul wird der Runtime-Code von PHP nur beim Start des Apachen geladen
          Beim Fast-CGI ist es so kompliziert, dass ich es hier nicht beschreiben kann.

          Mindestens aber mit totalen Neustart des Apachen wird auch die neue php.ini berücksichtigt.

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
      2. Wenn ich die php.ini über ssh verschiebe, dann runterlade, bearbeite und wieder zurück verschiebe ändert sich leider 0,nix...
        woran kann das schon wieder liegen? ^^

        Möglicherweise daran, daß es überhaupt nichts mit max_execution_time zu tun hat?!

        Vielleicht sollte man erst mal die Ursache aufklären, bevor man sich ans Rumdoktern macht. In diesem Zusammenhang, mit welcher Fehlermeldung bricht das script ab?

  3. Hallo,

    ich habe bei meinem Onlineshop leider das gleiche Problem. Wäre super wenn wir es hier lösen könnten.

    Danke.