如何从windows批处理文件执行php文件


How to execute php file from windows batch file

我有windows批处理文件,它也在任务调度程序中调度。

任务计划运行良好,但windows批处理文件不执行

它在一个php文件中。我正在学习php,windows批处理文件是以前的员工编写的。

下面的代码是我从windows批处理文件中获取的。路径是正确的,-f的目的是什么?你能纠正我的代码吗。

可以在此处找到命令行选项列表http://php.net/manual/en/features.commandline.options.php

在您的案例中,-f代表解析并执行文件

将您的批次更改为以下内容:

@ECHO ON
echo Before php %TIME% %DATE% >> C:'temp'task.log
C:
Cd 'www2
C:'PHP5.3'php.exe -f "C:'www2'cron.php" >> C:'temp'task.log
echo After php %TIME% %DATE% >> C:'temp'task.log

只要您在一行上有echo命令和php解释器的调用,这只会向屏幕输出一个无意义的文本。

第一个回显可以帮助您诊断问题:如果正在调用计划任务,您将在task.log中看到此日志。

为了确保工作目录设置为C:''www2(cron.php将在那里查找文件,除非用完整路径寻址),我们在运行php之前更改为该目录。

如果php打印任何错误消息或信息,我们会将输出重定向到同一日志,否则您将看不到这一点。您应该不时删除该日志,因为它可能会大幅增长。由您决定要保留或删除哪些日志记录语句;-)你甚至可以按大小滚动日志,我敢打赌SO上有问题,它会向你展示如何做到这一点;-)