dongsimu4422 2014-11-19 11:51
浏览 34

MultipartUpload错误

I'm working with the Amazon S3 and the AWS SDK for PHP.

I'm trying to use MultiPartUpload to upload my files but I have this error:

PHP Catchable fatal error: Argument 2 passed to Guzzle\Service\Client::getCommand() must be of the type array, string given, called in /var/www/html/aws/Guzzle/Service/Client.php on line 76 and defined in /var/www/html/aws/Guzzle/Service/Client.php on line 79

This error occurs when I put more than 10 simultaneous uploads.

Anyone knows why?

PHP: (connection.php)

use Aws\Common\Exception\MultipartUploadException;
use Aws\S3\Model\MultipartUpload\UploadBuilder;
use Aws\S3\S3Client;

$uploaded = (object) $_FILES['uploaded_file'];


$this->file  = $uploaded->tmp_name;

$arrayConfig =  array(
            'key'    => $this->accessKey,
            'secret' => $this->secretKey
        );

$this->awsClient = S3Client::factory($arrayConfig);

$uploader = UploadBuilder::newInstance()
            ->setClient($this->awsClient)
            ->setSource($this->file)
            ->setBucket($this->bucket)
            ->setKey($this->file_name_id)
            ->build();

I have a crontab service with 10 commands at same time:

*/05 * * * * /usr/bin/php /home/user/upload_test.php
*/05 * * * * /usr/bin/php /home/user/upload_test.php
*/05 * * * * /usr/bin/php /home/user/upload_test.php
*/05 * * * * /usr/bin/php /home/user/upload_test.php
*/05 * * * * /usr/bin/php /home/user/upload_test.php
*/05 * * * * /usr/bin/php /home/user/upload_test.php
*/05 * * * * /usr/bin/php /home/user/upload_test.php
*/05 * * * * /usr/bin/php /home/user/upload_test.php
*/05 * * * * /usr/bin/php /home/user/upload_test.php
*/05 * * * * /usr/bin/php /home/user/upload_test.php

upload_test.php:

$local_file = '/home/user/file.zip';

$ch = curl_init();
curl_setopt( $ch, CURLOPT_HEADER, 0 );
curl_setopt( $ch, CURLOPT_VERBOSE, 0 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)" );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_URL, 'http://localhost/connection.php' );

$post_array = array(
    "uploaded_file" => "@" . $local_file,
    "function" => "upload"
);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $post_array );
$response = curl_exec( $ch );
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度
    • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
    • ¥15 ETLCloud 处理json多层级问题
    • ¥15 matlab中使用gurobi时报错
    • ¥15 这个主板怎么能扩出一两个sata口
    • ¥15 不是,这到底错哪儿了😭
    • ¥15 2020长安杯与连接网探
    • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么