繁体   English   中英

在 Windows 本地主机上的 PHP 脚本上运行 Cron 作业

[英]Run Cron Job on PHP Script, on localhost in Windows

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

如何在 Windows 本地主机上的 PHP 脚本上运行 cron 作业?

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

顺便说一下,我正在为任何有同样事情的人分享这个。

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

shellscript.vbs

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

脚本文件

"C:\wamp\bin\php\php5.4.12\php.exe" -f "C:\wamp\www\website\my_process.php"

现在,我们准备将Windows 任务计划程序设置为以所需的时间间隔运行shellscript.vbs

  1. 从 Windows开始菜单打开任务计划程序
  2. 转到操作菜单并点击创建任务...
  3. 在“常规”选项卡中,根据需要填写“名称”和“说明”字段
  4. 触发器选项卡中,点击新建按钮。
  5. 从“开始任务”下拉列表中,选择“按计划”并选择“每日”
  6. 从“高级设置”部分,根据需要选择“重复任务” ,并将持续时间设置无限期”
  7. 在“操作”选项卡上,从“操作”下拉列表中选择“启动程序”
  8. Program\\script框中,输入 shellscript.vbs 的路径,如C:\\path\\to\\shellscript.vbs
  9. 添加参数(可选)部分留空。
  10. Start in (optional)框中,输入 shellscript.vbs 的父目录,如C:\\path\\to\\
  11. 在本教程中点赞 :) 玩得开心。

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

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

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

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

我有一个问题,在这个过程中,任务正在执行,但是我的 php 脚本没有运行,我得到了“打开方式”对话框。 如果我看到我的任务的属性,它会指出: ActionName C:\\Windows\\system32\\OpenWith.exe 即使我按照您的建议将其设置为 vbs 文件。 我究竟做错了什么?

你应该使用这个:

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

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

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

C:\Server\Scripts\script.py

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM