Wie bei einem Cronjob das memory_limit bei Typ "PHP-Skript ausführen" erhöhen?

  • Hallo Leute,


    ich habe eine geplante Aufgabe (Shopware), welche mehr als die Standardmäßigen 128M im PHP benötigt.

    Kann man irgendwie das memory_limit beim Aufruf erhöhen?


    Typ: PHP-Skript ausführen

    Skriptpfad: httpdocs/bin/console

    mit Argumenten: messenger:consume --time-limit=300 --memory-limit=256M async

    zu verwe. PHP-Version: 8.3


    Unser Server: managed private Server


    Wenn ich in der Shell die PHP-Einstellungen mir anzeigen lassen, wird mir auch nur 128M angezeigt.

    Im Kundenbereich unter den PHP-Einstellungen ist zwar 1024M eingestellt, diese werden aber anscheinend nicht automatisch in der Shell oder im Cronjob übernommen.
    Und eine andere Einstellungsmöglichkeit für die Shell/Cronjobs habe ich nicht finden können.

  • Wenn Du stattdessen einen Befehl ausführst, kannst Du das Limit beim PHP-Aufruf einfach selbst angeben. Siehe Beispiel im Helpcenter. Das ist zwar fürs Webhosting, aber Plesk unterscheidet sich in diesem Punkt bei einem Managed PS wahrscheinlich nicht. :)


    Alternativ kannst Du sogar den Pfad zu einer eigenen php.ini angeben, siehe Dokumentation.


    Wenn Du das für mehrere Aufrufe brauchst, wäre womöglich ein Shell-Wrapper-Script eine gute Option. So mache ich das z.B. bei Nextcloud: https://github.com/froonix/web…ttpdocs/nextcloud/wrapper

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

    Edited once, last by KB19 ().

  • Das mit dem Befehl klappt leider nicht. Selbst der Support bekommt es nicht hin.
    Da kommt immer als Fehler, dass er den Pfad/das Verzeichnis nicht gefunden hätte.


    Mit der eigenen php.ini hatte ich auch schon mal probiert.
    Aber diese Datei hat den Server nicht interessiert.

  • Das mit dem Befehl klappt leider nicht. Selbst der Support bekommt es nicht hin.
    Da kommt immer als Fehler, dass er den Pfad/das Verzeichnis nicht gefunden hätte.

    Von welchem Befehl sprechen wir hier? Welchen Pfad findet er nicht? Den zum PHP-CLI Executable oder den zu deinem PHP-Skript? Im ersten Fall musst du eben herausfinden, unter welchem dein gewünschtes PHP-Executable erreichbar ist. Dabei sollte dir der Support helfen können. Wenn es der First level support selbst nicht weiss, dann sollte halt bei der Technik nachgefragt werden. Was bei jedem Feld- Wald- und Wiesenwebhosting von netcup problemlos möglich ist, sollte ja auf einem Managed Server kein unlösbares Problem sein. Auch wenn die Pfade möglicherweise von denen im Webhosting abweichen, sollte der Support diese eigentlich kennen oder eben von jemandem erfragen, der sie kennt.


    Wie hast du den Support kontaktiert? Telefon oder per Formular/E-Mail? Telefon geht schneller, aber schriftlich ist die Chance größer, dass man eine zielführende Antwort bekommt, wenn man das Problem nachvollziehbar erklärt. Zumal wenn der Support unterbesetzt/überlastet ist oder der Support-Mitarbeiter vielleicht noch in Ausbildung ist.

  • Anfragen an den Support stelle ich immer per Ticketsystem.
    Aber ich schreibe nun schon seit über 2 Wochen hin und her, ohne nennenswerte Erfolge.


    Mit Befehl meinte ich die Auswahl "Befehl ausführen" in den geplanten Aufgaben von Plesk.

    Erfindet dann immer den Pfad zum PHP nicht (siehe Forumseintrag: https://forum.netcup.de/admini…heduler-auszuf%C3%BChren/)


    Und mit dem Typ "PHP-Skript ausführen" kann ich halt nicht das memory_limit erhöhen.


    EDIT:
    Habe mal aus Spass beim Cron als Befehl dies hinterlegt:
    php -i
    Prompt kam dabei nur ein Fehler raus: : Zeile 1: php: Kommando nicht gefunden.


    Und beim Befehl: /usr/local/php82/bin/php -v

    kommt dieser Fehler: Zeile 1: /usr/local/php82/bin/php: Datei oder Verzeichnis nicht gefunden

  • Dass Du das mit dem anderen Thread warst, habe ich vorhin nicht auf dem Radar gehabt. Der Befehl kam mir zwar bekannt vor, aber diese Verknüpfung fehlte in meinem Hirn. :saint:


    Zurück zum Thema: Dann wird der Support das trotzdem lösen müssen, das klingt nach einem Bug. Ist ja nicht Sinn der Sache, dass man auf einem Managed (v)Server weniger machen kann, als bei einem Webhostingtarif. :D

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)