При использовании функции загрузки в CodeIgniter, если я пытаюсь загрузить PDF-файл размером более 20 МБ, я получаю либо «404 файл не найден», либо слишком сложный объект запроса 413. Я вижу, что это «Upload nn%», примерно до 97% или 98%, а затем выходит и выдает ошибку. Если я эхо phpinfo (), я вижу следующее:
upload_max_filesize = 64M
post_max_size = 256M
Кроме того, если я использую File Manager на cPanel, я могу загружать большие файлы без проблем.
Я поместил следующее в файл .htaccess (который был предложен по другому вопросу), но это не помогло:
<IfModule mod_php5.c>
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_input_time 3600
php_value max_execution_time 3600
</IfModule>
<IfModule mod_php4.c>
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_input_time 3600
php_value max_execution_time 3600
</IfModule>
Я довольно новичок в PHP.
Похоже, ошибка исходит не от PHP, а с веб-сервера.
Если вы используете nginx
Вы можете увеличить максимально допустимый размер сообщения с client_max_body_size
директива
server {
...
client_max_body_size 128m
...
}
Если вы используете Apache, есть несколько опций, которые нужно проверить в его конфигурационном файле (httpd.conf).
LimitRequestBody 131072000
Если в Apache используется модуль mod_security, также обновите лимит для него:
SecRequestBodyLimit 131072000
Не забудьте перезагрузить сервер.
Других решений пока нет …