cloudfront-> getSignedUrl не работает, когда я запускаю .php на сервере MAMP - PullRequest
0 голосов
/ 05 октября 2018

Я получил этот код, чтобы получить подписанный URL-адрес от CloudFront.

<?php
use Aws\CloudFront\CloudFrontClient;
$path = dirname(__FILE__);
set_include_path($path);
require 'start.php';

$expiry = new DateTime('+10 minutes');
$cloudfront = CloudFrontClient::factory([
    'private_key' => 'xxx.pem',
    'key_pair_id' => 'xxx',
    'region' => 'ap-southeast-2',
    'version' => 'latest'
]);

$mp4 = 'https://d3w37wgr89tnmz.cloudfront.net/test.mp4';

//this piece of code in the comment block is killing the page
/*
$url = $cloudfront -> getSignedUrl([
    'url' =>"$mp4",
    'private_key' => 'xxx.pem',
    'key_pair_id' => 'xxx',
    'expires' => $expiry->getTimestamp()
]);
echo $url;
*/
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Playback</title>
</head>
<body>
<video controls width="720" >
    <source src=<?php echo $url?> type="video/mp4">
</video>
</body>
</html>

Когда я запускаю это как скрипт PHP, он работает как я ожидал и возвращает подписанный URL.Однако, если запустить его с помощью сервера MAMP, он покажет пустую страницу, на которой ничего нет, и вернет ошибку HTTP 500.

HTTP500: SERVER ERROR - The server encountered an unexpected condition that prevented it from fulfilling the request.
GET - http://localhost/video/video_on_Demand.php

Кто-нибудь знает, что с ним происходит?Кажется, что коды имеют синтаксические ошибки.Однако, если у него есть синтаксические ошибки, как он все еще может работать как скрипт и по-прежнему возвращать правильный URL?

Я новичок в PHP, и это меня сильно смутило

...