Как я могу протестировать задание CRON с помощью PHP?

StackOverflow https://stackoverflow.com/questions/2468037

  •  20-09-2019
  •  | 
  •  

Вопрос

Это первый раз, когда я использую CRON.

Я использую его для анализа внешних данных, которые автоматически передаются по FTP в подкаталог нашего сайта.

Я создал контроллер и модель, которые обрабатывают данные.Я могу получить доступ к URL-адресу в своем браузере, и он работает (однако я скоро ограничу это).

Моя проблема в том, как я могу проверить, работает ли он?

Я добавил это в свой контроллер для быстрого и грязного журнала.

$file = 'test.txt';

        $contents = '';

        if (file_exists($file)) {

            $contents = file_get_contents($file);

        }

        $contents .= date('m-d-Y') . ' --- ' . PHP_SAPI . "\n\n";

        file_put_contents($file, $contents);

Но до сих пор из браузера регистрировались только мои запросы, несмотря на то, что мой CRON работал каждую минуту.

03-18-2010 --- cgi-fcgi

03-18-2010 --- cgi-fcgi

Я настроил его с помощью cPanel с помощью команды

index.php properties/update/

вторая часть — это то, что я использую для доступа к странице в своем браузере.

Итак, как я могу проверить, что это работает правильно, и не напутал ли я что-нибудь?

Примечание:Я использую Кохану 3.

Большое спасибо

Это было полезно?

Решение

Вы используете неправильную команду для вызова Коханы.

Убедитесь, что вы используете полный путь к index.php, чтобы исключить любые ошибки пути.Вот переключатели доступны для использования в Кохане:

  • --ури:Самоочевидно
  • --метод:Метод HTTP-запроса (POST, GET и т. д.) (переопределяет метод Kohana::$)
  • --получать:Форматированные данные GET
  • --почта:Форматированные данные POST

Вы должны использовать что-то вроде этого:

php /path/to/kohana/directory/index.php --uri=properties/update/

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

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

вы, вероятно, не запускаете Cron с правами root для этого файла.

помещать mailto="youremail@yourdomain.tld" в начале файла cron, чтобы он отправлял вам сообщение об ошибках.

Если у вас нет root-доступа к файлу cron (I.E.SSH) Я не знаю, сможете ли вы сделать это в cPanel.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top