【问题标题】:AWS s3 Uploading files on localhost, but not working in the real URLAWS s3 在本地主机上上传文件,但在真实 URL 中不起作用
【发布时间】:2019-03-03 20:58:07
【问题描述】:
function setUploadAWS($ORIGEM, $DESTINO, $DIR) {

    $BUCKET = 'some-bucket';

    $ACCESS_KEY = "some-access-key";
    $SECRET_KEY = "some-secret-key";
    $credentials = new Aws\Credentials\Credentials($ACCESS_KEY, $SECRET_KEY);

    try {

        $s3 = new S3Client([
            'version'     => 'latest',
            'region'      => 'us-east-1',
            'credentials' => $credentials
        ]);

        $result = $s3->putObject([
            'Bucket'     => $BUCKET,
            'Key'        => $DIR . $DESTINO,
            'SourceFile' => $ORIGEM,
        ]);
    } catch (S3Exception $e) {
        echo $e->getMessage() . "\n";
    }

上传图片的aws代码正在通过localhost上传文件,但无法上传文件到系统。

【问题讨论】:

  • 当它不起作用时会发生什么?你得到某种错误吗?您的凭据正确吗?
  • 我收到一个 HTTP 错误 500。凭据很好,因为它在本地主机上工作。我使用 CloudBerry Explorer 来检查我上传的文件。
  • 错误 500 表示您的网络服务器日志中某处的有用错误。找到他们,你就会得到答案。
  • 我设置了一个选项来显示错误:致命错误:未捕获的异常 'Aws\S3\Exception\S3Exception' 并带有消息“在“storage-genesisgroup-dev.s3.us-west-2.amazonaws.com/public/…”上执行“PutObject”时出错; AWS HTTP 错误:创建资源时出错:[message] fopen(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 [file] 这似乎是一个访问错误。

标签: php apache amazon-s3 file-upload localhost


【解决方案1】:

解决方案是将参数 allow_url_fopenallow_url_include 更改为 On

allow_url_fopen= On
allow_url_include= On

参数列在 php.ini 中。

Path = apache2/php.ini

【讨论】:

    猜你喜欢
    • 2014-07-28
    • 2020-10-12
    • 2021-04-04
    • 2011-07-31
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多