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


91

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

php_value post_max_size 30M
php_value upload_max_filesize 30M

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

Ответы:


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для вашего хоста или поместить эти строки в их файл конфигурации виртуального хоста.


Спасибо. Журнал ошибок дал какую-то чушь о недопустимой команде, что далеко от «Иди и смени файл конфигурации виртуального хоста».
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.


-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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.