Изменение максимального размера файла загрузки на PHP



Я использую PHP 5.3.0 и столкнулся с чем - то, что может быть ошибкой (в этом случае я сообщу об этом) или может быть мной-поэтому я прошу убедиться.



при выполнении этого кода:



<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", " , ini_get('post_max_size')


Я:



2M, 8M


это несмотря на мой php.ini установка этих выше:



upload_max_filesize = 10M
post_max_size = 10M


(встречающихся только один раз)



потому что ошибка возникает после установки значения, а также его установки в php.ini я склонен думать, что это a жук. Может ли кто-нибудь подтвердить или указать мне, где я ошибаюсь?



обновление: похоже, перезапуск Apache исправил это - я всегда думал, что его не нужно перезапускать, если вы изменили php.Ини.

455   9  

9 ответов:

вы не можете использовать сокращенное обозначение для установки значений конфигурации за пределами PHP.Ини. Я предполагаю, что он возвращается к 2 МБ в качестве скомпилированного значения по умолчанию при столкновении с плохим значением.

С другой стороны, я не думаю, что upload_max_filesize может быть установлен с помощью ini_set(). Элемент "официальный" список указано, что он PHP_INI_PERDIR .

вы используете виртуальный хостинг-провайдера? Это могут быть основные настройки, переопределяющие все, что вы пытаетесь изменить. Вы пробовали добавлять их в свой .htaccess?

php_value upload_max_filesize 10M
php_value post_max_size 10M

Так как я только что столкнулся с этой проблемой на общем Хосте и не смог добавить значения в мой .файл htaccess я думал, что поделюсь своим решением.

Я сделал ini-файл со значениями в нем. Вот так просто:

создайте файл с именем ".пользователь.ini " и добавить свои значения

upload_max_filesize = 150M
post_max_size = 150M

бум, проблема решена.

Я получил это для работы с помощью a .пользователь.ini в том же каталоге, как мой индекс.PHP-скрипт, который загружает мое приложение. Вот содержание:

upload_max_filesize = "20M"
post_max_size = "25M"

это рекомендуемое решение для Heroku.

Это также можно контролировать с помощью конфигурации apache. Проверьте httpd.conf и/или .htaccess для чего-то вроде следующего:

php_value upload_max_filesize 10M

Если вы используете ini_set на лету, то вы найдете здесь http://php.net/manual/en/ini.core.php информация, например, upload_max_filesize и post_max_size не может быть изменена на лету (PHP_INI_PERDIR).

только php.Ини .изменение конфигурации htaccess или vhost, похоже, изменяет эти переменные.

Если вы работаете на локальном сервере, таком как wamp или xampp, убедитесь, что он использует php.Ини ты думаешь. Эти серверы, как правило, по умолчанию в PHP.ini, которого нет в вашей папке html docs.

Я столкнулся с той же проблемой , но я узнал, что не все параметры конфигурации могут быть установлены с помощью функции ini_set (), проверьте это где может быть установлен параметр конфигурации

вы можете использовать также в php-файле, как это

<?php ini_set('upload_max_filesize', '200M'); ?>

Comments

    Ничего не найдено.