1

我得到了一台带有 XAMPP 的 Windows 2012R2 机器。我需要安排一个每分钟运行的任务。每分钟都应该执行一个 PHP 脚本。这是正确配置的,我在任务计划程序中使用 .BAT 文件作为操作。

问题是当我测试 .BAT 文件时,它就像一个魅力(从它所在的文件夹中执行 .BAT 文件)。但是,当任务计划程序执行 .BAT 文件时,它会失败。然后,该脚本无法包含 PHP 脚本调用的某些文件。我猜这是因为任务计划程序不会从 PHP 脚本所在的目录执行脚本。 CronjobBase.php 有一行包含MyIncludes.php(例如,在现实生活中包含一个引导文件)

这是我的 .BAT 内容(在 CD 命令中使用或保留引号没有区别):

cd "D:\xampp\htdocs\MyApp\App\Cronjobs\"
"D:\xampp\php\php.exe" -f CronjobBase.php MyCronJob

我正在尝试将 CD 放入 Cronjobs 文件夹以使用 MyCronJob 执行argv[1]CronjobBase.php(其中应包括来自 CronjobBase.php 的 MyCronJob.php)。它告诉我找不到 CronjobBase.php。我猜 CD 到 Cronjobs 文件夹会失败。

当我尝试"D:\xampp\php\php.exe" -f D:\xampp\htdocs\MyApp\App\Cronjobs\CronjobBase.php MyCronJob作为 .BAT 内容时,包含“MyIncludes.php”失败并且脚本终止。

关于我做错了什么有什么建议吗?

4

1 回答 1

3

这应该工作:

cd /D "D:\xampp\htdocs\MyApp\App\Cronjobs\"
"D:\xampp\php\php.exe" -f CronjobBase.php MyCronJob

或者:

D:
cd "D:\xampp\htdocs\MyApp\App\Cronjobs\"
"D:\xampp\php\php.exe" -f CronjobBase.php MyCronJob
于 2015-07-30T11:25:00.243 回答