PHP Memory Limit - Fehler beim Script über die CLI (Memory Limit passt nicht?!)

  • Moinsen,


    ich bin gerade dabei, mir eine Anwendung auf meinem Server zu installieren.

    Bei der Installation bekomme ich den Fehler:
    Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 69632 bytes)


    In der phpinfo(); bekomme ich das in meinem Tarif eingestellte Memory Limit von 1GB angezeigt.
    Wieso wird mir hier lediglich 134217728 bytes angezeigt, sowie bei der Beanspruchung von 69632 bytes ein Fatal Error rausgeworfen?

    Komme so mit der Installation nicht weiter.
    Bei meinem alten Webhosting konnte ich die gleiche Anwendung ohne dieses Problem installieren.
    Jetzt habe ich im Endeffekt doppelt so viel Leistung und es geht nicht mehr..

    Kann mir da jemand helfen?
    Ist das einfach falsch eingestellt?
    Oder wo liegt der Fehler?


    Danke im Voraus.
    MfG :)

  • Habs gerade selber nach gegoogelt. Wusste ich tatsächlich auf der CLI noch nicht.
    Hat jetzt funktioniert.

    Trotzdem danke, für die schnelle Antwort.

    Aber mal so nebenbei, dann hat NetCup das ja irgendwie trotzdem limitiert.


    Also wenn 1GB angegeben sind und die auf der Webseite mit phpinfo() auch angegeben werden, frage ich mich ob die da denn auch wirklich verfügbar sind.

    Außerdem sollte dann ja mal unabhängig davon auf der CLI standardmäßig auch 1GB aktiv sein.

    Warum ist das denn limitiert auf die 134,217728 MB, und auch noch son komischer Wert.

    Finde ich etwas seltsam.
    Es werden 8GB nutzbar angegeben und pro Prozess 1GB dann frage ich mich halt wieso 134,.. MB

  • Oder auch eine komplett eigene php.ini verwenden. Beides könnte man super in eigenen Wrapper-Scripten verwenden, z.B. so:


    https://github.com/froonix/web…ocs/nextcloud/wrapper/occ

    Übernimmt denn, wenn ich in dem benutzten Verzeichnis eine PHP.ini setze, dann auch die Shell in dem Verzeichnis diese Einstellungen?


    Mit dem Wrapper Script müsste ich mir anschauen. Noch nie gemacht.w

    Wahrscheinlich weil 128M(iB) der Standardwert ist: https://www.php.net/manual/en/ini.core.php#ini.memory-limit


    Code
    $ bc -l <<< "134217728 / 1024 / 1024"
    128.00000000000000000000

    Hm ok aber müsste das nicht trotzdem von den 1GB überschrieben werden? Ich meine die phpinfo zeigt das ja auch an.

  • Übernimmt denn, wenn ich in dem benutzten Verzeichnis eine PHP.ini setze, dann auch die Shell in dem Verzeichnis diese Einstellungen?

    Nur wenn Du sie mit -c example.ini beim PHP-Binary angibst. Wenn das automatisch passieren soll, bieten sich wie gezeigt Wrapper-Scripte oder z.B. Bash-Aliase an.


    Hm ok aber müsste das nicht trotzdem von den 1GB überschrieben werden? Ich meine die phpinfo zeigt das ja auch an.

    Welche phpinfo()? Über SSH oder HTTP? Das sind wie gesagt unterschiedliche Umgebungen. Die phpinfo() von SSH/CLI siehst Du z.B. mit: php -i


    Über HTTP hast Du je Domain eigene PHP-Einstellungen, bequem einstellbar in Plesk. Über SSH/CLI bist Du in einer Chroot-Umgebung mit unterschiedlichen Pfaden und es gibt nur die globalen Standardwerte, dort musst Du selbst die entsprechenden Argumente an den PHP-Befehl anhängen.


    Ergänzend, falls Du über SSH/CLI eine andere PHP-Version brauchst: https://www.netcup-wiki.de/wik…erschiedene_PHP-Versionen

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

    Einmal editiert, zuletzt von KB19 ()

    Gefällt mir 2