在PHP脚本上运行Cron Job,在Windows中的localhost上运行

时间:2014-06-04 10:31:38

标签: php windows cron localhost wamp

我有一个PHP脚本,并希望按计划运行它。我在Windows(WAMP服务器)上使用本地Web服务器,需要一种方法每10分钟运行my_script.php

如何在Windows上的localhost上的PHP脚本上运行cron作业?

5 个答案:

答案 0 :(得分:39)

最近我在Windows 7中的localhost(WAMP服务器)上的php脚本上运行cron作业时出现了一些问题,当时我正在测试长期从www那里获取一些链接。

顺便说一句,我正在为同一件事的任何人分享这个。

使用 Windows任务计划程序,您需要 shellscript 来长期运行。您还需要一个批处理脚本( script.bat )来调用 php.exe 并运行 php脚本(此处称为{{ 1}})

<强> shellscript.vbs

my_process.php

<强> script.bat

Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\path\to\script\script.bat" & Chr(34), 0
Set WinScriptHost = Nothing

现在,我们已准备好将 Windows任务计划程序设置为按要求的时间间隔运行 shellscript.vbs

  1. 从Windows 开始菜单
  2. 打开任务计划程序
  3. 转到操作菜单,然后点击创建任务...
  4. 常规标签中,根据需要填写名称说明字段
  5. 触发器标签中,点击新建按钮。
  6. 开始任务下拉列表,选择按计划并选择每日
  7. 高级设置部分,根据需要选择每次重复任务,并在无限期上设置一段时间
  8. 操作标签上,从操作下拉菜单中选择启动程序
  9. Program \ script 框中,输入shellscript.vbs的路径,例如 C:\ path \ to \ shellscript.vbs
  10. 添加参数(可选)部分留空。
  11. 开始(可选)框中,输入shellscript.vbs的父目录,如"C:\wamp\bin\php\php5.4.12\php.exe" -f "C:\wamp\www\website\my_process.php"
  12. 点击本教程投票:)玩得开心。

答案 1 :(得分:1)

要设置Windows计算机以在特定时间运行cron.php,请按照以下具体说明进行操作。如果您不熟悉Linux / Unix,或者您的Web主机不提供运行cron作业的能力,这可能很有用;您可以从自己的计算机远程运行它们。

注意:这些说明是为Windows XP编写的,但在其他版本的Windows中应该类似。

https://www.drupal.org/node/31506

答案 2 :(得分:1)

如果您使用 Trix 的答案并遇到与 Metafaniel 相同的问题:

  

我有一个问题,通过这个程序,任务被执行,   但是我的PHP脚本没有运行,我得到了“打开”   对话。如果我看到我的任务的属性,它会声明:ActionName   C:\ Windows \ system32 \ OpenWith.exe即使我将其设置为vbs文件为   你建议。我做错了什么?

你应该用这个:

  1. 而是“输入到shellcript.vbs的路径,如C:\ path \ to \ shellscript.vbs。”使用“C:\ Windows \ System32 \ wscript.exe”
  2. 而是“将添加参数(可选)部分留空”使用(带引号): “C:\路径\到\ shellscript.vbs”

答案 3 :(得分:1)

在多次尝试使用 Windows 任务计划程序失败后,这是在我的 Windows 10 专业版机器上对我有用的方法。我只是跳过添加 .vbs 和 .bat 文件并直接将 PATH 发布到脚本文件。

在“操作>设置”下,它提供了浏览“程序/脚本”的选项,这是我将完整路径和文件名放入的位置脚本我想在没有引号的情况下运行。

C:\Server\Scripts\script.py

然后在您刚刚输入“程序/脚本”的文本框正下方的“操作 > 设置”下的同一区域中,有一个区域显示“开始于 (可选)”。这就是我将PATH 放到运行脚本的程序 的地方(即:在本例中为python.exe)。但是我没有直接指定“python.exe”我使用了 PATH ONLY 没有引号,如下所示。

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64

如果你在没有 Visual Studio 的情况下直接安装了 Python,它将位于不同的路径下,可能类似于“C:\Program Files\Python\Python37”或类似的东西,如果我没记错的话......

答案 4 :(得分:0)

有点晚了,但是对于不想让它太长并且不想在测试中浪费时间(因为目的是将其托管到服务器)的人,可以通过添加http内容刷新来做一件事在该php文件的html meta标签中,向其中添加所需的计时器,然后在浏览器中运行它。 注意:您必须使系统保持打开状态,直到没有得到所需的输出为止。 再次,我说这不是完美的方法,但是可以节省某人的配置设置时间。

相关问题