Как проверить работу cron на локальном сервере, например WAMP?

Как проверить работу cron на локальном сервере, например WAMP?

Ответы

Ответ 1

В Windows нет Cron (это основная программа планирования задач для Linux-систем). Версия Windows для этого - Task Scheduler. Этот вопрос рекомендует использовать команду at.

Итак, что Cron не имеет ничего общего с установкой Apache, Mysql, PHP, я не думаю, что можно надежно проверить созданные вами cronjobs для Linux Cron в окнах (возможно, с Cygwin).

Ответ 2

Вы можете создать html-страницу и открыть ее в браузере. Функция javascript setInterval будет вызывать определенные периоды.

Ниже приведен код для этого. Укажите интервал (5000, например, каждые 5 секунд)

<html>
<head>
    <title>Cron</title>
</head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<body>
<h1>Cron page</h1>
<script type="text/javascript">
    setInterval(function(){
        $.get('http://localhost/test/test.php', function(data) {
            console.log(data);
         });
    }, 5000);
</script>
</body>
</html>

Примечание. Чтобы избежать CORS, вы должны вызывать ajax с одного хоста или разрешать CORS со стороны сервера.

Ответ 3

вы можете запускать свой script непосредственно из URL-адреса, означает, что если вы хотите запустить cron_test.PHP скрипт из настройки cron, и вы хотите проверить результат на то же самое, вы можете напрямую запустить этот файл с localhost как http://www.localhost/XXXX/cron_test.php.

Ответ 4

Установите cron (да, это доступно для Windows).

Я бы не хотел этого делать на Windows. Вероятно, вам лучше будет захватить копию VirtualBox и создать что-то, что лучше напоминает вашу производственную среду, чтобы сделать вашу разработку.

Ответ 5

Просто запустите задание из командной строки. Это работа, которую вы хотите протестировать, а не cron. Если вам нужно, чтобы он выполнялся с периодическими интервалами для имитации cron, используйте средство "Запланированные задания" Windows

Ответ 6

Вы можете запустить это:

set_time_limit(0);
ignore_user_abort(true);
while (1)
{
    //your code here....
    sleep($timetowait);
}

Вы можете закрыть браузер script, чтобы продолжить

set_time_limit(0); сделайте вашу работу script без ограничения времени

sleep($timetowait); определить время ожидания перед выполнением следующего цикл while()

ignore_user_abort(true); пусть script продолжается, даже если браузер закрыт

while(1) - бесконечный цикл, поэтому это никогда не остановится, пока вы не выйдете из wamp.

Ответ 7

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

  • В программе укажите путь php.exe, с моей установкой - c:\wamp\bin\php\php5.3.5\php.exe.
  • Во-вторых, вы должны указать абсолютный путь к файлу, который вы хотите запустить. -f c:\wamp\www\foo\foo.php в аргументе

Итак, что все. Нет необходимости устанавливать что-либо.

Ответ 8

Попробуйте это commnad

<?php

echo exec('0 13 * * * D:\wamp\bin\php -f D:\wamp\www\be.php');

?>

Ответ 9

<meta http-equiv="refresh" content="0; url=http://localhost/myproject/cron.php" />

немедленно установите метарешетку: content = 0 каждые 5 секунд: content = 5

Ответ 10

Что вы подразумеваете под "работой cron"? На многих сайтах есть специальная страница, такая как "cron.php", которая периодически попадает, как обычно:

0 * * * * wget http://example.org/cron.php

В этом случае вам просто нужно вручную нажать ваш php файл cron, чтобы имитировать поведение.