簡體   English   中英

我無法在 cloudfront 中獲得簽名的 url,出現致命錯誤,我正在嘗試的代碼如下

[英]I am not able to get signed url in cloudfront, getting fatal error, code I am trying is below

<?php

require '../aws-autoloader.php';

use Aws\CloudFront\CloudFrontClient;
use Aws\Exception\AwsException;

// Create a CloudFront Client
$client = new Aws\CloudFront\CloudFrontClient([
    'profile' => 'default',
    'version' => 'latest',
    'region' => 'us-east-1',
]);

// Set up parameter values for the resource
$resourceKey = 'https://example.cloudfront.net/b20cbfe5-a8df-47a5-94c4-aeadea20759f/dash/videoplayback.mpd';
$expires = time() + 300;

// Create a signed URL for the resource using the canned policy
$signedUrlCannedPolicy = $client->getSignedUrl([
    'url' => $resourceKey,
    'expires' => $expires,
    'private_key' => 'pk.pem',
    'key_pair_id' => 'keyid'
]);

得到錯誤為

致命錯誤:未捕獲的 InvalidArgumentException:錯誤:0906D06C:PEM 例程:PEM_read_bio:C:\\xampp\\htdocs\\aws\\Aws\\CloudFront\\Signer.php:40 中沒有起始行 堆棧跟蹤:#0 C:\\xampp\\htdocs\\aws \\Aws\\CloudFront\\UrlSigner.php(24): Aws\\CloudFront\\Signer->__construct('APKAJYH2L6BGHLW...', 'pk-APKAJYH2L6BG...') #1 C:\\xampp\\htdocs\\aws\\Aws\\ CloudFront\\CloudFrontClient.php(138): Aws\\CloudFront\\UrlSigner->__construct('APKAJYH2L6BGHLW...', 'pk-APKAJYH2L6BG...') #2 C:\\xampp\\htdocs\\aws\\app\\stream.php (26): Aws\\CloudFront\\CloudFrontClient->getSignedUrl(Array) #3 {main} 在 C:\\xampp\\htdocs\\aws\\Aws\\CloudFront\\Signer.php 第 40 行中拋出

我已經解決了這個問題。 問題是你需要像這樣在下面給出絕對路徑

'private_key' => $_SERVER['DOCUMENT_ROOT'] . '/' . 'pk.pem',

讓我知道它是否有效?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM