Я использую 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, я склонен думать, что это ошибка. Может ли кто-нибудь подтвердить или указать мне, где я ошибаюсь?
Обновление : похоже, перезапуск Apache исправил это - я всегда думал, что его не нужно перезапускать, если вы изменили php.ini.
Ответы:
Вы не можете использовать сокращенную запись для установки значений конфигурации вне PHP.ini. Я предполагаю, что он возвращается к 2 МБ в качестве скомпилированного значения по умолчанию, когда сталкивается с неправильным значением.
С другой стороны, я не думаю, что
upload_max_filesize
можно использоватьini_set()
. В «официальном» списке говорится, что это такPHP_INI_PERDIR
.источник
.htaccess
а также сini_set
. Хотя, возможно, не во всех версиях.Вы пользуетесь услугами виртуального хостинга? Это могут быть основные настройки, отменяющие все, что вы пытаетесь изменить. Вы пробовали добавить их в свой .htaccess?
php_value upload_max_filesize 10M php_value post_max_size 10M
источник
php.ini
файлу. Позволяет вам установить эти разрешения на основе необходимости, а не как глобальный параметр.Поскольку я только что столкнулся с этой проблемой на общем хосте и не смог добавить значения в свой файл .htaccess, я решил поделиться своим решением.
Я сделал ini-файл со значениями в нем. Просто как тот:
Создайте файл с именем ".user.ini" и добавьте свои значения
upload_max_filesize = 150M post_max_size = 150M
Бум, проблема решена.
источник
Я заставил это работать, используя файл .user.ini в том же каталоге, что и мой скрипт index.php, который загружает мое приложение. Вот содержание:
upload_max_filesize = "20M" post_max_size = "25M"
Это рекомендуемое решение для Heroku.
источник
Этим также можно управлять с помощью конфигурации apache. Проверьте httpd.conf и / или .htaccess на что-то вроде следующего:
php_value upload_max_filesize 10M
источник
Если вы работаете на локальном сервере, таком как wamp или xampp, убедитесь, что он использует php.ini, как вы думаете. Эти серверы обычно по умолчанию используют php.ini, которого нет в вашей папке html docs.
источник
Это решение можно применить, только если проблема связана с установкой WordPress!
Если у вас нет доступа к FTP или вам лень редактировать файлы,
Вы можете использовать плагин увеличения максимального размера загружаемого файла, чтобы увеличить максимальный размер загружаемого файла.
источник
По умолчанию PHP позволяет загружать на сервер файлы размером не более 2 МБ. Но вы можете изменить максимальный размер загружаемого файла в соответствии с вашими условиями. Используя файл конфигурации PHP php.ini, вы можете увеличить или уменьшить размер загружаемого файла в PHP.
Сначала откройте файл php.ini в текстовом редакторе. Найдите переменную upload_max_filesize и укажите размер, который вы хотите увеличить.
Найдите переменную post_max_size и укажите размер, который вы хотите увеличить.
post_max_size = 128M
Вы можете проверить это здесь
источник
если вы используете ini_set на лету, то вы найдете здесь http://php.net/manual/en/ini.core.php информацию, которая, например, upload_max_filesize и post_max_size не может быть изменена на лету (PHP_INI_PERDIR).
Только изменение конфигурации php.ini, .htaccess или vhost может изменить эти переменные.
источник
Я столкнулся с той же проблемой, но обнаружил, что не все параметры конфигурации можно установить с помощью функции ini_set (), отметьте это Где можно установить параметр конфигурации
источник
Вы также можете использовать в файле php вот так
<?php ini_set('upload_max_filesize', '200M'); ?>
источник