PHP Memory Limit per htaccess ändern

StartWild gebloggtWebentwicklungPHP Memory Limit per htaccess ändern

Tja, was tun wenn man Besitzer eines Shared Webspace Accounts ist, jedoch Einstellungen an PHP vornehmen muss? Glücklicherweiße muss man nicht immer direkt an die php.ini, manchmal reicht auch schon eine .htaccess Datei.

Ein Beispiel hierfür ist openAds (früher phpAdsNew), ein in PHP geschriebens Script zur Verwaltung von Werbeflächen. Leider benötigt openAds ein PHP Memory Limit von 24MB, ein Wert der per Default nicht in der php.ini gesetzt ist.
Aber keine Panik! Um den Wert zu ändern, reicht es eine htaccess Datei mit folgendem Inhalt anzulegen.

php_value memory_limit 24M

Anschließend ist das Memory Limit geändert und es kann z.B. openAds problemlos installiert werden.

13 thoughts on “PHP Memory Limit per htaccess ändern

  1. Hallo Michael,

    die .htaccess Datei ist ansonsten leer, also enthält keine weiteren Argumente (um einfach auzuschließen, dass es mit etwas anderem zusammenhänge könnte)?
    Eigentlich sollte das auch bei 1und1 funktionieren, wäre zumindest denkbar, dass die Funktion einfach gesperrt wurde…
    Ich schau mich mal ein wenig um, vllt. ist dieses Problem schonmal bei jemand aufgetreten und man kann es irgendwie lösen…

  2. php_value memory_limit 24M funktioniert bei 1&1 nicht. Führt zu einem 500 Error.

    ini_set(”memory_limit”,”32M”); führt bei 1&1 zwar nicht zu einem 500 Error, greift aber leider auch nicht. 🙁

  3. Hallo zusammen,

    früher konnte man einfach eine eigene php.ini in das „pseudo-root“-Verzeichnis des Shared Accounts legen und dann wurde diese verwendet.

    Weiß aber leider nicht, ob das noch funktioniert.

    Liebe Grüße
    Steffi

  4. Hallo,
    ich habe folgendes Problem: Ich benutzte xtCommerce und will automatischen Bilderupdate hinzufügen. Dabei benutze ich schon von xtCommerce fertige Klassen.
    mein Code:
    if ($handle = opendir(‚./images/product_images/original_images/‘)) {
    echo „Files:n“;
    while ($file = readdir($handle))
    {if(substr($file,-3) == „jpg“) $arra[] = $file; }

    closedir($handle);
    foreach ($arra as $key => $products_image_name)
    {
    echo „das bild $products_image_name wird erstellt“;
    try{
    require(„admin/includes/product_popup_images.php“);
    }
    catch(exception $d)
    {
    print_r($d);
    }
    unset($a);
    $a = null;#$a ist das Objekt welches Bilder handelt
    }

    }
    else echo „geht net“;

    jezt hab ich schon alles ausprobiert. z.b: Rechte setzen auf das Bilderverzeichnis(755).
    php_value memory_limit 32M # in htaccess
    ini_set(”memory_limit”,”32M”); #im Code
    set_time_limit(9000); # gegen Timeout

    und wenn ich die debugausgaben auslasse bekomme ich Internal Error 500.
    Sonst läuft die Schleife 10 mal durch und bricht ab.
    obwohl im Array über 200 Bildernamen gespeichert sind.

    da ich auf dem Server keine Einsicht auf php.ini, httpd.conf oder errorlog habe weis ich nicht woran mein Script scheitert oder scheitern könnte. ich hoffe einer von euch hat schon mas das selbe gehabt und ne Lösung gefunden. Ich vermute es liegt an dem Speicher da gdlib zum etpaken der Bilder mehr Speicher verbraucht bin mir aber nicht sicher.

    ps: Bilder sind ok, Objekte sind auch ok, es ist alles vorhanden.

  5. Das stimmt, bei 1&1 funktioniert es nicht. Und beim Versuch es mit .htaccess zu ändern kommt eine Fehlermeldung. Zu mindest bei einigen Paketen, muss mich noch erkundigen, ab welchen Paket die Verwaltung von solchen Sachen dem Benutzer überlassen wird. Übrigens ist es genau so mit mod_rewrite bei 1&1 kannst du vergessen.

  6. noch keine lösung? habe das selbe problem und der support von 1&1 antwortet nicht…
    PS: habs auch mit eigener php.ini nicht geschafft

  7. Super Tipp, Danke!

    Ich hatte mit dem Zend Framework das Problem, dass ein Query extrem viel RAM brauchte und ich das memory_limit hochsetzen wollte. Mit dieser .htaccess-Datei funktioniert das!

  8. Guten Morgen,

    1&1 sowie Strato und einige andere Massenhoster haben die Verwendung eigener Parameter aus php.ini und .htaccess gesperrt. Da sich viele Nutzer einen Server teilen wollen die so ein Überlasten verhindern.
    Ich kann nur raten zu einem Hoster zu wechseln, der solche Einschränkungen nicht vornimmt.
    Selbst bin ich bei alphahosting aus Halle…

    LG Stephan

  9. Leider lassen die wenigsten Hoster heutzutage zu Änderungen per htaccess am Serververhalten zu machen. Revido privat Paket: geht nicht. Das muss über den Hoster geschehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.