Задание Cron не запускает вызов аутентификации

Мне нужно, чтобы этот код запускался каждые 3 часа, чтобы выполнить вызов проверки подлинности API, чтобы получить временный токен, который будет использоваться для выполнения других вызовов API. Я храню его в отдельном файле php и при необходимости обновляю

Он работает в браузере, но не в cron. Все мои другие задания cron работают и отформатированы одинаково. Что мне не хватает?

* Обновлено: вот мой вызов cron -

/ usr / local / bin / php /home/mysite.com/getToken.php

<?php

    Token();

    function Token(){
        header("Access-Control-Allow-Origin: https://example.com");
        header("Access-Control-Allow-Headers: Access-Control-Allow-Origin, Access-Control-Allow-Headers, Access-Control-Allow-Methods, Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");
        header("Access-Control-Allow-Methods: PUT, POST, GET, OPTIONS");
        header("Access-Control-Allow-Credentials: true");

        $params = array("Username" => "fuu", "Password" => "bar", "PrivateKey" => "123456789");
        $auth_url = 'https://example.com/api/Rest/authenticate';
        $ch = curl_init();
        $postData = http_build_query($params);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "$postData");
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_URL, "$auth_url");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $data = curl_exec($ch);
        $token = $data;
        curl_close($ch);
        file_put_contents({$_SERVER['DOCUMENT_ROOT']} . "/Token.php", $token);
        echo $token;
    }   
?>

В этом посте стоит описать ваши команды cronjob, чтобы все могли видеть, что вы запрашиваете, и любые возможные проблемы с разрешениями, которые могут повлиять на ваш ожидаемый результат.

nickhar 07.11.2018 04:39

Ergo, это «может быть» из-за прав доступа к файлам или какой-либо другой проблемы cron, но мы не можем видеть, что происходит, кроме выполнения сценария php, который obv работает в браузере.

nickhar 07.11.2018 04:46

Спасибо, только что добавил

Ken 07.11.2018 15:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
325
1

Ответы 1

Проблема в $_SERVER['DOCUMENT_ROOT'] - он пуст при выполнении PHP-скрипта через оболочку.

Вещи, которые установлены, а также содержат путь:

  ["PHP_SELF"]=>
  string(30) "/var/www/html/documentRoot.php"
  ["SCRIPT_NAME"]=>
  string(30) "/var/www/html/documentRoot.php"
  ["SCRIPT_FILENAME"]=>
  string(30) "/var/www/html/documentRoot.php"
  ["PATH_TRANSLATED"]=>
  string(30) "/var/www/html/documentRoot.php"
  ["DOCUMENT_ROOT"]=>
  string(0) ""

Однако, если бы я был вами, я бы лучше поместил это в базу данных, прочитал и записал оттуда / туда. Но это всего лишь намек.

Спасибо, да, так будет безопаснее, я уверен

Ken 07.11.2018 16:39

Другие вопросы по теме