如何使用Windows计划任务运行PHP脚本?

时间:2011-01-15 20:03:16

标签: php windows-7 scheduled-tasks

我在我的机器上安装了localhost / server,我需要使用windows schedule任务运行php脚本。如何在计划任务的“操作”选项卡中添加路径/配置脚本以运行特定时间段?

12 个答案:

答案 0 :(得分:49)

在系统上找到php.exe可执行文件,并使用-f参数将其传递给脚本文件的名称。

示例:

C:\Xampp\php\php.exe -f C:\Xampp\htdocs\my_script.php

参考:

答案 1 :(得分:11)

这是怎么回事。

Windows计划程序 - >创建一个新任务 - >操作标签 - >修改

enter image description here

答案 2 :(得分:9)

您可以使用PHP Command Line执行它,而不是尝试通过浏览器加载它。

在操作选项卡下,创建一个新操作并:

  • 程序/脚本:指向您的PHP.exe文件
  • 添加参数:-f /path/to/php/file.php

您也可以选择在脚本目录中启动它。

答案 3 :(得分:8)

至少我尝试了一些建议,但它没有用,所以我试过了。

使用bat文件并安排执行该bat文件。

例如在bat文件executephp.bat中,写下这个

c:\ xampp \ php \ php.exe -f c:\ xampp \ htdocs \ do_something.php

保存包含该行的bat文件。

转到Windows调度程序并创建一个新任务并在操作选项卡中,浏览指向executephp.bat并在 - >中启动直接到你有executephp.bat的目录。

例如,如果您将文件保存在C:\ xampp \ htdocs下,请将C:\ xampp \ htdocs放在开头。

请记住即使用户未登录也要调用脚本。

一切都已设定,它将毫无问题地执行。

答案 4 :(得分:3)

我是这样做的。

在“运行”框中:c:\location_of_my_php_installation\php.exe -f c:\location_of_my_php_file\php_file.php

在开始框中:c:\location_of_my_php_installation\php.exe

答案 5 :(得分:3)

我只想留下我必须做的事情才能让这个服务器用于服务器2012.这是之前已经说过但添加了引号并使用“添加参数”框。所以在Task Scheduler-> Actions-> Edit Action。

Program/script: "C:\xampp\php\php.exe"
Add arguments: -f "<full path and filename>"
Start in: <Path to file>

(我必须使用'start in',因为我在脚本中引用了类)

希望这有帮助。

答案 6 :(得分:2)

您可以使用

直接调用本地主机网址
explorer "http://localhost/yourFile.php"

答案 7 :(得分:1)

创建计划任务 Scheduler-> Actions-> Edit Action

如果您有php文件

Program/script: powershell 
Add arguments: curl http://localhost/demo/cron.php

如果您具有MVC / CMS URL

Program/script: powershell
Add arguments: curl http://localhost/demo/controller/method

答案 8 :(得分:0)

在任务计划程序中的任务属性中,将运行脚本的帐户更改为SYSTEM帐户。

Beaware!您应该只对您完全信任的脚本执行此操作 - 这样做会将脚本的权限提升到管理员之外。

答案 9 :(得分:0)

要在Windows中创建调度程序,您需要:

  1. 在您的服务器或系统上创建.bat文件;
  2. .bat文件中输入以下命令:
    “F:\xampp\php\php.exe” -f “F:/xampp/htdocs/sitefolder/test.php”;
  3. 在Windows中的任务计划程序中设置计划程序时间和文件。

答案 10 :(得分:0)

如果answer given by Pekka不起作用(C:\Xampp\php\php.exe -f C:\Xampp\htdocs\my_script.php),请确保已启用正确的PHP扩展名以及用于该PHP版本的正确的php.ini文件使用。

我最近遇到了这个问题并解决了。我使用PHP v5.4运行嵌套在顶层PHP文件夹(v5.3)中的script.php。当我从v5.4文件夹中运行script.php时,它使用的v5.3 php.ini文件具有不同的扩展名,这导致script.php失败。

要解决此问题,这是我在“任务计划程序”中执行的操作:“操作”标签

程序脚本:

"C:\Program Files (x86)\PHP\v5.4\php.exe"

添加参数:

-c "C:\Program Files (x86)\PHP\v5.4\php.ini" -f "C:\Xampp\htdocs\script.php"

Task Schedulerer - Actions Script

使用-c选项,您可以指定应使用哪个php.ini文件(stackflow answer)。

我通过遵循此stackflow answer来验证使用了哪个php。

在命令行中,输入php -m以检查启用了哪些扩展名。 然后,使用php --ini检查PHP正在读取哪个.ini文件。

如果安装了多个版本,则可能未使用所用PHP版本的正确ini文件。

答案 11 :(得分:0)

您不需要.bat文件,只需在任务计划程序中设置选项即可: Windows Server Task Scheduler

所以在这里,我只是指向php.exe,然后在参数中

-f fullpath2PHP文件

重要的一点是 run in 部分-这应该是您的php所在的文件夹。 例如:

文件位置 -f c:\ inetpub \ wwwroot \ runthisplease \ myFile.php 运行 c:\ inetpub \ wwwroot \ runthisplease \

您可以通过创建Windows快捷方式来测试它(但是您不能安排快捷方式链接)