AWS PHP Upload не может загружать файлы размером более 15 МБ

Мне удалось загрузить файлы в корзину, используя приведенный ниже код из AWS PHP SDK. Проблема в том, что когда я пытаюсь загрузить файлы размером более 15 мб, скрипт выдает ошибку. В противном случае он работает так, как ожидалось. Любые идеи, что я делаю неправильно? Заранее спасибо.

require $dir . 'aws/aws-autoloader.php';
    $s3Client = new Aws\S3\S3Client(array(
    'version' => 'latest',
    'region' => 'us-west-2',
    'credentials' => array(
        'key' => 'KEY',
        'secret' => 'SECRET',
    )
));
$result = $s3Client->putObject(array(
    'Bucket' => 'eot-resources',
    'Key' => $org_id."_".$_FILES["fileToUpload"]["name"],
    'SourceFile' => $_FILES["fileToUpload"]["tmp_name"],
    'Body'        => new GuzzleHttp\Psr7\Stream(fopen($_FILES["fileToUpload"]["tmp_name"], 'r')),
    'ACL' => 'public-read',
    'StorageClass' => 'REDUCED_REDUNDANCY',
    'Metadata' => array(
        'Foo' => 'abc',
        'Baz' => '123'
    )
));
echo "URL: ".$result['ObjectURL'] . "<br>";

Я получаю следующую ошибку при попытке загрузить большой файл размером более 15 МБ. Кроме того, это работает.

Предупреждение: fopen(): имя файла не может быть пустым в /Users/xxx/Code/xxx/wp-content/plugins/xxx/parts/part-upload_file.php в строке 37.

Строка 37 читает..

'Body'        => new GuzzleHttp\Psr7\Stream(fopen($_FILES["fileToUpload"]["tmp_name"], 'r')),

Любая помощь/совет/подсказки будут оценены.


person Tommy Adeniyi    schedule 17.03.2017    source источник
comment
Я также пробовал загрузчик php multipart и загрузчик на стороне клиента Javascript, и я получаю тот же результат. Это либо ошибки, либо время ожидания, когда файлы превышают 10-15 МБ. Помощь!!   -  person Tommy Adeniyi    schedule 17.03.2017
comment
Посмотрите это: stackoverflow .com/questions/2184513/   -  person sowi    schedule 17.03.2017


Ответы (1)


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

person Chris    schedule 17.03.2017
comment
Да, это сработало с приведенным выше кодом, спасибо, но оно по-прежнему не работает для составного загрузчика и javascript sdk. - person Tommy Adeniyi; 20.03.2017
comment
Для javascript SDK убедитесь, что вы добавили ‹ExposeHeader›ETag‹/ExposeHeader› в ‹CORSRule›. - person Tommy Adeniyi; 27.03.2017