Как проверить работу cron на локальном сервере, как WAMP? - PullRequest
14 голосов
/ 13 июля 2010

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

Ответы [ 10 ]

13 голосов
/ 13 июля 2010

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

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

6 голосов
/ 10 ноября 2015

Вы можете создать 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 со стороны сервера.

4 голосов
/ 17 октября 2012

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

3 голосов
/ 15 января 2015

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

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

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

set_time_limit(0); заставить ваш скрипт работать без ограничений по времени

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

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

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

3 голосов
/ 13 июля 2010

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

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

2 голосов
/ 20 ноября 2013

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

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

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

2 голосов
/ 13 июля 2010

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

0 голосов
/ 27 февраля 2012

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

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

0 голосов
/ 03 мая 2011

Попробуйте этот комнад

<?php

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

?>
0 голосов
/ 13 июля 2010

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

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

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

...