在Windows Xampp中设置Cronjob


Setting Up A Cronjob In Windows Xampp

在我的Xampp windows服务器中设置此命令所需的帮助

0 * * * *     cd C:/xampp/htdocs/plugins/moviefeed/ && php cron.php

你能告诉我的正确方向吗

感谢

在Windows操作系统上没有cron。。。。您需要使用Windows中的调度程序任务来创建"Cronjob"。使用windows调度程序的示例

VladH写了/st,我认为应该是/sc

打开命令提示符并键入

schtasks /create /tn "XamppCron" /tr "L:'xampp'php'php.exe L:'xampp'htdocs'mydevsite'cron.php" /sc minute /mo 10

一旦您对cron感到满意,如果您以php-win.exe运行,则不会在每次运行任务时显示命令提示符窗口。

您可以轻松地创建一个.bat文件,在该文件中定义您的windows调度任务。关于您的需求。。

set doc=C:'xampp'htdocs'project
cd "%doc%"
copy /y nul "file.php"
ECHO ^<?php echo 'This is executed via scheduler task!'; ?^> >file.php
schtasks /create /tn "Cron" /tr "C:'Program Files (x86)'Mozilla Firefox'firefox.exe http://play.local/fisierul.php" /st minute /mo 10

我在这里做的是:

  • 我将路径从"htdocs"更改为"project"目录
  • 我创建了一个文件"file.php"(如果它不存在)
  • 我在"file.php"文件中写了一个简单的echo
  • 我创建了一个新的调度器任务(类似于Unix中的cron作业),它将打开我的mozilla浏览器,每10分钟访问一次该url

注意:要停止调度程序任务,必须进入cmd并键入

schtasks /delete /tn "Cron"

祝你好运,伙计!

我不添加任何新内容,只添加一个测试用例。对于一个简单的cron作业来说,使用Task Scheduler GUI会很麻烦/没有必要,所以这个演示使用.bat文件。演示所做的只是每分钟将"counter.txt"中的数字增加1。


在"htdocs"中创建了一个"cron"文件夹,其中包含以下文件:

  • counter.txt
  • index.php
  • schtask_add.bat
  • schtask_del.bat
  • schtask_query.bat

文件内容:

counter.txt

0

index.php

<?php
    $filepath = "C:/xampp/htdocs/cron/counter.txt";
    $i = file_get_contents($filepath);
    $i = (int) $i;
    $i++;
    file_put_contents($filepath, $i);

schtask_add.bat

@echo off
schtasks /Create /TN XAMPP /TR "C:/xampp/php/php-win.exe C:/xampp/htdocs/cron/index.php" /SC MINUTE /MO 1
pause

schtask_del.bat

@echo off
schtasks /Delete /TN XAMPP /F
pause

schtask_query

@echo off
schtasks /Query /TN XAMPP
pause

在Windows 10(64位)上使用XAMPP 7.1.11进行了测试。


Schtasks.exe|Microsoft文档

Schtasks-计划任务-Windows CMD-SS64.com

PHP:CLI和CGI-手动(PHP.exe与PHP-win.exe)

Cron是一个用于计划任务的Unix应用程序,要在Windows下获得相同的结果,您需要使用任务管理器。

首先,您创建一个简单的任务,每天从0:00开始。然后,你进入高级。。。(或类似操作,具体取决于您所使用的操作系统),然后选择"每60分钟重复一次"。