Как установить upload_max_filesize в .htaccess?

91

Я пытаюсь поставить эти 2 строчки

php_value post_max_size 30M
php_value upload_max_filesize 30M

в моем корневом файле .htaccess, но это дает мне сообщение «внутренняя ошибка сервера» ...
php5 работает на сервере.
У меня нет доступа к php.ini, поэтому я думаю, что htaccess - мой единственный шанс.
Вы можете сказать мне, в чем ошибка?
заранее спасибо

T1000
источник

Ответы:

140

php_value upload_max_filesize 30M верно.

Вам придется связаться с вашими хостерами - некоторые не позволяют изменять значения в php.ini

Керри Джонс
источник
2
Спасибо, но ini_set () не работает для upload_max_filesize и post_max_size: /
T1000
когда вы говорите «не работает», вы имеете в виду, что не приводит к желаемому результату / приводит к ошибке / чему-то еще?
Керри Джонс,
установите error_reporting (E_ALL) и посмотрите, отображается ли что-нибудь. Помимо этого, обратитесь к своему хост-провайдеру, он сможет вам помочь. Некоторые блокируют изменение таких переменных, поскольку не хотят, чтобы вы стали крупным сайтом с посещаемостью.
Керри Джонс,
14
Эти параметры не могут быть установлены с помощью ini_set (). См. Php.net/manual/en/ini.list.php и php.net/manual/en/configuration.changes.modes.php
dev-null-dweller
Многие хосты не позволяют этого, но вы также можете создать файл php.ini, поместить его в корень сайта и переопределить там значения.
Эрик Черпняк
37

Если вы получаете 500 - Внутренняя ошибка сервера, это означает, что у вас нет разрешения на установку этих значений с помощью .htaccess . Вы должны связаться с поставщиками веб-серверов и попросить установить AllowOverride Optionsдля вашего хоста или поместить эти строки в их файл конфигурации виртуального хоста.

dev-null-dweller
источник
Спасибо. Журнал ошибок дал какую-то чушь о недопустимой команде, что далеко от «Иди и смени файл конфигурации виртуального хоста».
Altimus Prime
33
php_value memory_limit 30M
php_value post_max_size 100M
php_value upload_max_filesize 30M

Используйте все 3 .htaccessпосле всего в последней строке. php_value post_max_sizeдолжно быть больше двух оставшихся.

Группа ВАПП
источник
2
могу я узнать причину, по которой php_value post_max_sizeдолжно быть больше двух оставшихся?
Ануша
@Anusha, если вы думаете об этом, вы могли бы написать сообщение с двумя файлами по 30 миллионов + больше текстовых данных, и это будет стоить дополнительных байтов, вероятно, в этом причина
giovannipds
12

Что делать, чтобы исправить это, - создать файл с именем php.ini и сохранить его в том же месте, что и ваш файл .htaccess, и вместо этого ввести следующий код:

upload_max_filesize = "250M"
post_max_size = "250M"
Шайшав Шах
источник
4
Это будет работать только в некоторых средах хостинга. Работал для меня над моей учетной записью хостинга Web Fusion.
Ian Jamieson
3

Если ваш веб-сервер работает под управлением php5, я считаю, что вы должны использовать php5_value. Это разрешило ту же ошибку, которую я получал при использовании php_value.

PCTuneUpGuy
источник
-2

Обе команды верны

php_value post_max_size 30M 
php_value upload_max_filesize 30M 

НО для использования .htaccessвам необходимо включить rewrite_moduleв файле конфигурации Apache. В httpd.confнайти такую строку:

# LoadModule rewrite_module modules/mod_rewrite.so

и удалите #.

Афшин
источник
6
IMHO, чтобы включить использование .htaccess, все, что вам нужно сделать, это установить AllowOverrideчто угодно, кроме none. Загрузка rewrite_moduleтребуется только для директив ModRewrite.
RonaldPK