php 5.3 — быстрая очистка Akamai с использованием php 5.3

Как очистить кеш Akamai с помощью php 5.3?
Код, предоставленный в Akamai Github для php 5.6+, работает. Но код, предоставленный на странице Akamai Github для php 5.3, дает ошибку.

Строки ошибок помечаются как «//»:

require_once ‘src / Authentication.php’;
require_once ‘src / Authentication / Timestamp.php’;
require_once ‘src / Authentication / Nonce.php’;
require_once ‘src / Exception / ConfigException.php’;
// Неустранимая ошибка: класс ‘Akamai \ Open \ EdgeGrid \ Exception’ не найден в \ src \ Exception \ ConfigException.php в строке 22 require_once ‘src / Exception / SignerException / InvalidSignDataException.php’‌;
// Неустранимая ошибка: класс ‘Akamai \ Open \ EdgeGrid \ Exception \ SignerException’ не найден в \ src \ Exception \ SignerException \ InvalidSignDataException.php в строке 22

0

Решение

Есть два исключения, отсутствующие в require блок:

require_once 'src/Exception.php';
require_once 'src/Exception/SignerException.php';

Добавление этих должно исправить проблему.

Полный блок кода для очистки вы бы использовали:

$auth = \Akamai\Open\EdgeGrid\Authentication::createFromEdgeRcFile('ccuv3', './.edgerc');
$auth->setHttpMethod('POST');
$auth->setPath('/ccu/v3/invalidate/url');

$body = json_encode(array(
'hostname' => 'example.org',
'objects' => array('/path/to/object', '/path/to/other/object')
));

$auth->setBody($body);

$context = array(
'http' => array(
'header' => array(
'Authorization: ' . $auth->createAuthHeader(),
'Content-Type: application/json',
'Content-Length: ' . strlen($body),
),
'method' => 'POST',
'content' => $body
)
);

$context = stream_context_create($context);

$response = json_decode(file_get_contents('https://' . $auth->getHost() . $auth->getPath(), null, $context));

Еще лучше было бы обернуть это в функцию:

function fastPurge($hostname, array $objects)
{
$body = json_encode(array(
'hostname' => $hostname,
'objects' => $objects
));

$auth = \Akamai\Open\EdgeGrid\Authentication::createFromEdgeRcFile('ccuv3', './.edgerc');
$auth->setHttpMethod('POST');
$auth->setPath('/ccu/v3/invalidate/url');
$auth->setBody($body);

$context = array(
'http' => array(
'header' => array(
'Authorization: ' . $auth->createAuthHeader(),
'Content-Type: application/json',
'Content-Length: ' . strlen($body),
),
'method' => 'POST',
'content' => $body
)
);

$context = stream_context_create($context);

$response = json_decode(file_get_contents('https://' . $auth->getHost() . $auth->getPath(), null, $context));
}

// Call the fastPurge function
fastPurge('example.org', array('/path/to/object', '/path/to/other/object'));
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]