Я понимаю, что есть много вопросов по этому поводу, но я следил за ними и не могу найти никакой информации о том, как дальше отлаживать это, не работает.Невозможно загрузить файлы более 500 МБ, а upload_max_filesize - 1G
Я могу загрузить файл 490 МБ абсолютно нормально. Я не могу загрузить файл размером 562,8 МБ.
Я бегу PHP 7.0.11 с FPM, Nginx 1.11.3, убунту 16 и используя Laravel 5,1
Мой PHP INI настройки:
upload_max_filesize 1GB
post_max_size 1GB
memory_limit 1GB (это не должно быть фактически необходимо, но я попробовал это в любом случае)
Мои настройки Nginx:
client_max_body_size 1G
Я не нашел никаких ссылок на любые другие переменные, которые должны быть изменены или которые могут помешать.
Когда я загружаю $_FILES
выглядит следующим образом:
["file"]=>
array(5) {
["name"]=> string(36) "CSBgGvDIAaZtbC4lmliLevHf0bAnWiKM.rar"
["type"]=> string(0) ""
["tmp_name"]=> string(0) ""
["error"]=> int(1)
["size"]=> int(0)
}
Там нет ничего в моем Nginx или ошибки, связанные журналах.
$_SERVER['content_length']
- 652844444, который является правильной длиной файла.
'error'
указан как 1. Я не знаю, является ли это 1, как в true, или 1, как в соответствующем сообщении об ошибке. Документы php перечисляют сообщение об ошибке для 1 в документах как:
Загруженный файл превышает директиву upload_max_filesize в php.ini.
Но оба:
echo phpinfo();
echo ini_get('upload_max_filesize');
Показать 1 Гб, так что файл не должен превышать его, потому что это 562,8 MB.
Без дальнейших сообщений об ошибках и после каждой инструкции и руководства, которые я могу найти в Google, я полностью потеряю то, что может быть.
Я также использую Cloudflare, но он отключен для этого субдомена, и ограничения на Cloudflare равны 100 МБ, а не 500 МБ, поэтому я не думаю, что это как-то связано с этим.
Есть ли способ отладить это? На данный момент у меня полная потеря.
http://php.net/manual/en/features.file-upload.errors.php в соответствии с этим в вашей конфигурации PHP INI не было. Если вы используете PHP-FPM, вам может потребоваться убедиться, что вы меняете правильные конфигурации. Это странно, когда дело доходит до того, что он читает. – apokryfos
Вот что я цитировал? Можете ли вы объяснить, что вы имеете в виду? Если я делаю 'ini_get ('upload_max_filesize')' на той же странице, что и форма, то это те настройки php.ini, которые используются. – robjbrain
Возможно, это что-то с таймаутом? Вы проверяете загрузку на локальном хосте или на внешнем сервере? Вы можете попробовать это: https://easyengine.io/tutorials/php/increase-script-execution-time/ –