如何在WAMP等本地服务器中测试cron作业?
答案 0 :(得分:13)
Windows没有Cron(它是Linux系统的主要任务调度程序)。 Windows版本为Task Scheduler。 This question建议使用at命令。
因此Cron与Apache,Mysql,PHP设置没有任何关系我认为不可能可靠地测试你在Windows中为Linux Cron创建的cronjobs(可能是Cygwin )。
答案 1 :(得分:6)
您可以创建一个html页面并在浏览器上打开它。 javascript setInterval函数将调用指定的句点。
以下是执行此操作的代码。指定您的间隔(例如5000,例如每5秒运行一次)
PARSE
注意:为避免CORS,您应该从同一主机调用ajax或从服务器端允许CORS。
答案 2 :(得分:4)
您可以直接从URL运行脚本,意味着如果您想从cron设置运行cron_test.php脚本,并且您想测试结果,那么您可以直接从localhost运行此文件,如http://localhost/XXXX/cron_test.php
答案 3 :(得分:3)
安装cron(是的,它是available for Windows)。
我不会希望在Windows上执行此操作。你可能最好抓住VirtualBox的副本并创建更适合你的生产环境的东西来进行开发。
答案 4 :(得分:3)
你可以运行:
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之前,它永远不会停止。
答案 5 :(得分:2)
只需从命令行运行作业即可。这是你想要测试的工作,而不是cron本身。如果您需要定期执行它来模拟cron,那么使用Windows“计划任务”工具
答案 6 :(得分:2)
您只需一行即可在Windows环境中完成工作。我几乎花了5个小时,所以我想与其他人分享是一项任务。
-f c:\wamp\www\foo\foo.php
这样就完成了。无需安装任何东西。
答案 7 :(得分:0)
<meta http-equiv="refresh" content="0; url=http://localhost/myproject/cron.php" />
立即设置元刷新: content = 0 每5秒钟: content = 5
答案 8 :(得分:-1)
尝试此命令
<?php
echo exec('0 13 * * * D:\wamp\bin\php -f D:\wamp\www\be.php');
?>
答案 9 :(得分:-2)
“cron job”是什么意思?在很多网站上都有一个特殊的页面,比如“cron.php”会定期点击,通常是这样的:
0 * * * * wget http://example.org/cron.php
在这种情况下,你只需要手动点击你的cron php文件来模拟行为。