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


90

Я спробував поставити ці два рядки

php_value post_max_size 30M
php_value upload_max_filesize 30M

у моєму кореневому файлі .htaccess, але це приносить мені повідомлення про "внутрішню помилку сервера" ...
php5 працює на сервері.
Я не маю доступу до php.ini, тому я думаю, що htaccess - це моя єдина можливість.
Можете сказати, де помилка?
Спасибі заздалегідь

Відповіді:


139

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.
Ян Джеймісон

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.