Wie setze ich upload_max_filesize in .htaccess?

90

Ich habe versucht, diese 2 Zeilen zu setzen

php_value post_max_size 30M
php_value upload_max_filesize 30M

in meiner root .htaccess Datei, aber das bringt mir die Meldung "Interner
Serverfehler " ... php5 läuft auf dem Server
Ich habe keinen Zugriff auf php.ini, also denke ich, dass htaccess meine einzige Chance ist.
Kannst du mir sagen, wo der Fehler ist?
Danke im Voraus

T1000
quelle

Antworten:

137

php_value upload_max_filesize 30M ist richtig.

Sie müssen sich an Ihre Hoster wenden - einige erlauben Ihnen nicht, Werte in php.ini zu ändern

Kerry Jones
quelle
2
Vielen Dank, aber ini_set () funktioniert nicht für upload_max_filesize und post_max_size: /
T1000
Wenn Sie "nicht funktioniert" sagen, meinen Sie damit, nicht das gewünschte Ergebnis zu erzielen / einen Fehler zu erzeugen / etwas anderes?
Kerry Jones
Setzen Sie error_reporting (E_ALL) und prüfen Sie, ob etwas angezeigt wird. Wenden Sie sich ansonsten an Ihren Host-Anbieter, der Ihnen helfen kann. Einige blockieren Änderungen an solchen Variablen, da sie nicht möchten, dass Sie zu einer stark frequentierten Site werden.
Kerry Jones
14
Diese Optionen können nicht mit ini_set () festgelegt werden. Siehe php.net/manual/en/ini.list.php und php.net/manual/en/configuration.changes.modes.php
dev-null-
Viele Hosts lassen dies nicht zu, aber Sie können auch eine php.ini-Datei erstellen, diese im Stammverzeichnis der Site ablegen und die dortigen Werte überschreiben.
Erik Čerpnjak
37

Wenn Sie 500 - Interner Serverfehler erhalten , bedeutet dies, dass Sie nicht berechtigt sind, diese Werte mit .htaccess festzulegen . Sie müssen sich an Ihren Webserver-Anbieter wenden und nach AllowOverride OptionsIhrem Host fragen oder diese Zeilen in die Konfigurationsdatei des virtuellen Hosts einfügen.

Dev-Null-Bewohner
quelle
Danke dir. Das Fehlerprotokoll gab einen Unsinn über einen ungültigen Befehl, der weit entfernt von "Ändern Sie Ihre Konfigurationsdatei für den virtuellen Host" ist.
Altimus Prime
33
php_value memory_limit 30M
php_value post_max_size 100M
php_value upload_max_filesize 30M

Verwenden Sie alle 3 in .htaccessnach allem in der letzten Zeile. php_value post_max_sizemuss mehr als die restlichen zwei sein.

VAPP-Gruppe
quelle
2
Darf ich den Grund kennen, warum php_value post_max_sizemehr als die verbleibenden zwei sein müssen?
Anusha
@ Anusha, wenn Sie darüber nachdenken, könnten Sie einen Beitrag mit zwei 30 Millionen Dateien + mehr Textdaten
verfassen
12

Um dies zu korrigieren, erstellen Sie eine Datei mit dem Namen php.ini, speichern Sie sie am selben Speicherort wie Ihre .htaccess-Datei und geben Sie stattdessen den folgenden Code ein:

upload_max_filesize = "250M"
post_max_size = "250M"
Shaishav Shah
quelle
4
Dies funktioniert nur in einigen Hosting-Umgebungen. Arbeitete für mich auf meinem Web Fusion-Hosting-Konto.
Ian Jamieson
3

Wenn auf Ihrem Webserver PHP5 ausgeführt wird, müssen Sie dies meiner Meinung nach verwenden php5_value. Dies löste den gleichen Fehler, den ich bei der Verwendung erhalten hatte php_value.

PCTuneUpGuy
quelle
-2

Beide Befehle sind korrekt

php_value post_max_size 30M 
php_value upload_max_filesize 30M 

ABER um die zu verwenden .htaccess, müssen Sie rewrite_modulein der Apache-Konfigurationsdatei aktivieren . In httpd.conffinden Sie diese Zeile:

# LoadModule rewrite_module modules/mod_rewrite.so

und entfernen Sie die #.

afshin
quelle
6
IMHO, um die Verwendung von .htaccess zu ermöglichen, müssen Sie nur AllowOverridealles andere als einstellen none. Das Laden von rewrite_moduleist nur für ModRewrite-Direktiven erforderlich.
RonaldPK