Verständnisfrage: Nextcloud auf Webhosting 8000 - fehler im Log

  • Hallo,

    ich betreibe für unseren Verein eine Nextcloud (Version (32.0.3) auf einem Webhosting 8000.
    Im Vergleich zum vorherigen Anbieter läuft das auch relativ flott und soweit OK.

    Nun habe ich im LOG zwei fehler, die ich nicht weg bekomme.

    1. Fehler:
    Request used more than 300 MB of RAM: 469.9 MB
    Wenn ich den Fehlereintrag richtig deute, ist das ein fehler bei der Erstellung eines Bilder-Previews, das kann ich auch reproduzieren.
    ABER: Von wo kommt die angebliche Grenze von 300MB? Die finde ich im Hosting nicht.

    2. Fehler:
    Allowed memory size of 134217728 bytes exhausted (tried to allocate 47448064 bytes
    OK, hier werden 128MB zur Verfügung gestellt, er möchte aber 474 nutzen, anscheinend auch bei einem Bild.
    Aber auch hier die Frage, von wo kommen die 128MB?

    Im Hosting steht:
    PHP Memory Limit
    1024 MB
    PHP Upload Filesize
    256 MB

    Ich kann die Werte nicht deuten.

    Habe schon per ChatGTP versucht, ich soll Optimierungen an der Config mache, aber egal, was ich einstelle, das ändert nichts.
    Ist das ein fehler im Paket, kann ich was ändern, oder ist das einfach so?

    Viele Grüße
    Patrick

  • Schau mal in der Kommandozeile,ich glaube da ist mittlerweile per Default ein niedrigerer Wert für memory_limit eingestellt. Vermutlich wird die Erstellung des Previews durch den Nextcloud Cronjob ausgeführt.

    Gerade bei meinem Webhosting 4000 nachgeschaut. Auch da steht das memory_limit in der Kommandozeile auf 128 MB.

    Abhilfe wäre dann, beim Cronjob das höhere memory_limit (z.B. 512M oder 1024M) als Parameter anzugeben. Ich denke 512M will Nextcloud schon seit längerer Zeit mindestens haben, insbesondere auch bei der Ausführung von occ-Befehlen im CLI, auch da muss das also als Parameter für PHP angegeben werden (php -d memory_limit=512M ...)

  • Hallo,
    mhm, OK, danke, das wäre einen Versuch Wert.
    Nun frage ich mich, wie ich den Parameter übergebe.
    Ich habe den Chron in Plesk angelegt als "PHP-Script ausführen", hier kann ich aber keine Parameter übergeben.

    Lt. KI soll ich den Job als "Befehl", das sähe dann so aus:
    /usr/bin/php8.3 -d memory_limit=512M /var/www/vhosts/deinedomain/.../cron.php

    Aber das habe ich schon einmal versucht, da hat er mir dann im Stammverzeichnis eine Menge nicht löschbarer Ordner angelegt und funktioniert hat es leider nicht.

    Bin gerade etwas ratlos.

  • der Pfad müsste so aussehen:

    /usr/local/php83/bin/php -d memory_limit=512M /deine-Domain/Pfad/zum/cron.php


    Nachtrag:

    ich habe die Aufgabe als "Befehl ausführen" laufen nicht als php-script

    It's me, only me, pure michi 🦆

    RS: ja:thumbup: VPS: yep:thumbup: ARM: sicher:thumbup: WH: klar :thumbup:

    Domains: auch:thumbup:

    2 Mal editiert, zuletzt von extremmichi (4. April 2026 um 14:49)

  • Das ist jedenfalls (als Befehl) de einzige Mathode, de bei mir immer zuverlässig funktioniert hat. Das mit den Ordnern wirst du dann wohl irgendwie lösen müssen. Wie sehen die denn aus? Die gehören da jdenfalls nicht hin. Obwohl, bei Nextcloud weiss man nie. Bei jedem Update neue Probleme, auch wenn es meist keine sind und trotzdem als Error ausgegeben werden. Ich überlasse meine Nextcloud seit längererZeit deshalb dem roten H. Um das Geld kann ich die mit dem Speicherplatz selbst sowieso nicht hosten, nicht mal bei netcup. Und damit darf sich dann das rote H um solche Dinge kümmern.

  • OK, Testlauf, Fehlermeldung: "meine-domain" habe ich zur Anonymisierung gemacht. :)

    Die Aufgabe "/usr/local/php83/bin/php -d memory_limit=512M /httpdocs/meine-domain/cron.php" wurde in 1 Sekunden abgeschlossen, jedoch traten Fehler auf

    Your data directory is invalid.
    Ensure there is a file called ".ncdata" in the root of the data directory. It should have the content: "# Nextcloud data directory"

    Cannot create "data" directory.
    This can usually be fixed by giving the web server write access to the root directory. See https://docs.nextcloud.com/server/32/go.p…dir_permissions

    Und ja, die Datei ist vorhanden.

    Wenn ich das Ganze unter Plsek ausführe als PHP-Script mit folgender Zeile funktioniert es:
    httpdocs/meine-domain/cron.php