вызывать функцию PHP один раз в определенное время - PullRequest
0 голосов
/ 11 сентября 2018

В части веб-сайта я отправляю вызов функции, которая приносит мне идентификацию авторизации, но я хочу, чтобы это делалось только со временем каждый раз, в том месте, которое каждый раз входит в карточку покупки

Как я могу это сделать?

Я нахожусь в интеграции в PayPal

в файле с именем functions.php У меня есть функция get_access_token

function get_access_token($url, $postdata) {
    global $clientId, $secret;
    $curl = curl_init($url); 
    curl_setopt($curl, CURLOPT_POST, true); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl, CURLOPT_SSL_CIPHER_LIST,'TLSv1');
    curl_setopt($curl, CURLOPT_USERPWD, $clientId . ":" . $secret);
    curl_setopt($curl, CURLOPT_HEADER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); 
    # curl_setopt($curl, CURLOPT_VERBOSE, TRUE);
    $response = curl_exec( $curl );
    if (empty($response)) {
        // some kind of an error happened
        die(curl_error($curl));
        curl_close($curl); // close cURL handler
    } else {
        $info = curl_getinfo($curl);
        curl_close($curl); // close cURL handler
        if($info['http_code'] != 200 && $info['http_code'] != 201 ) {
            echo "Received error: " . $info['http_code']. "\n";
            echo "Raw response:".$response."\n";
            die();
        }
    }
    // Convert the result from JSON format to a PHP array 
    $jsonResponse = json_decode( $response );
    session_start();
    $_SESSION['access_token'] = $jsonResponse->access_token;
    return $jsonResponse->access_token;
}

в другом файле я вызываю функцию // GET ACCESS TOKEN

$url = $host.'/v1/oauth2/token'; 
$postArgs = 'grant_type=client_credentials';
$access_token= get_access_token($url,$postArgs);

Ситуация такова, что каждый раз, когда происходит отклонение или обновляется страница, делается новый вызов

часть

$access_token= get_access_token($url,$postArgs);

Его следует запускать раз в 6 часов

спасибо за ваш вклад

1 Ответ

0 голосов
/ 04 октября 2018

Вы можете сохранить полученные данные в пользовательском сеансе. Таким образом, вы можете читать из сеанса и, если запись старше 6 часов, вы можете запросить данные с помощью curl.

Надеюсь, это поможет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...