Felix: Maximalgröße von Bildern für imagecreatefromjpeg()

Hallo Forum,

die PHP-Funktion imagecreatefromjpeg() kann JPEG-Dateien bei meinem Provider nur bis zu einer bestimmten Pixelgröße öffnen, ca. 2100px im Quadrat.

In meiner lokalen Entwicklungsumgebung scheint diese Grenze nicht zu existieren.

Ist das also eine Einstellungssache des Providers? Und wenn ja, wie heißt die konkrete PHP-Einstellung?

  1. Hi,

    Ist das also eine Einstellungssache des Providers? Und wenn ja, wie heißt die konkrete PHP-Einstellung?

    Ja. Und ich vermute, das hängt mit der maximalen Speichernutzung und/oder Prozessornutzung zusamen. Schonmal lokal getestet, welchen Speicherbedarf und welche Prozessorlast dein Script erzeugt?

    Dann hast du die Antwort, denn Provider benutzen fast immer die Deafultwerte (SPeicher 8M, CPU 30s)

    MfG
    Manuel

    1. Nun,
      ich habe mich an die Grenze herangetastet; Bilder mit 2200px / 2200px werden innerhalb von 3 Sekunden geöffnet, die Dateigröße liegt bei knapp 1MB.

      Die maximale Threadzeit scheidet also schon mal aus. Es könnte allerdings sein, daß die unkomprimierten Bilddaten des JPEGS (vgl. entsprechendes TIF) über die Speichergrenze gehen.

      Ja. Und ich vermute, das hängt mit der maximalen Speichernutzung und/oder Prozessornutzung zusamen. Schonmal lokal getestet, welchen Speicherbedarf und welche Prozessorlast dein Script erzeugt?

      Dann hast du die Antwort, denn Provider benutzen fast immer die Deafultwerte (SPeicher 8M, CPU 30s)

      MfG
      Manuel

      1. Hallo Felix,

        [...] die Dateigröße liegt bei knapp 1MB.

        Die ist hier nicht entscheidend.

        Es könnte allerdings sein, daß die unkomprimierten Bilddaten des JPEGS (vgl. entsprechendes TIF) über die Speichergrenze gehen.

        Genau da liegt der Hase im Pfeffer. Man muss davon ausgehen, dass die Bilddaten während der Bearbeitung unkomprimiert im Arbeitsspeicher gehalten werden. Und nun rechne mal
          2000 [px] mal 2000 [px] mal 3 [Byte/px]
        und schon bist du bei rund 12MB Speicherbedarf. Dann hat dein Provider wohl ein höheres Speicherlimit als 8MB.

        So long,

        Martin

        1. Hi,

          und schon bist du bei rund 12MB Speicherbedarf. Dann hat dein Provider wohl ein höheres Speicherlimit als 8MB.

          Und wenn du jetzt noch den restlichen Speicherverbrauch des Scriptes dazurechnest, könnte der Provider auf 16MB begrenzt haben. Bei der Erzeugung fressen Bilder unglaublich Speicher.

          MfG
          Manuel