从Windows中的单个php脚本或批处理文件依次运行多个php脚本

时间:2013-11-08 10:33:25

标签: php shell cron

我有5个PHP脚本需要一个接一个地执行。我如何创建一个单独的php / batch脚本,按顺序执行所有的PHP脚本。

我想安排一个运行该php文件的cron。

2 个答案:

答案 0 :(得分:2)

#!/path/to/your/php
<?php
include("script1.php");
include("script2.php");
include("script3.php");
//...
?>

替代

#/bin/bash
/path/to/your/php /path/to/your/script1.php
/path/to/your/php /path/to/your/script2.php
/path/to/your/php /path/to/your/script3.php
# ...

如果您的脚本需要通过http:

访问
#/bin/bash
wget --quiet http://path/to/your/script1.php > /dev/null 2>&1
wget --quiet http://path/to/your/script2.php > /dev/null 2>&1
wget --quiet http://path/to/your/script3.php > /dev/null 2>&1
# ...

答案 1 :(得分:0)

我使用“wait”命令做了一些测试,因为我似乎只是在对每个脚本的调用之间进行等待。我做了一些测试,在php脚本中创建数据库,在bash脚本中返回一些记录,然后用另一个php脚本更新,然后另一个bash脚本返回更新的结果,它似乎工作正常......

根据我的阅读,只要下标不调用另一个下标,如果在脚本调用之间使用“wait”命令,主脚本将等待。

代码如下:

#!/bin/sh

/usr/bin/php test.php
wait

/bin/bash test.sh
wait

/usr/bin/php test2.php
wait

/bin/bash test2.sh
wait

echo all done

希望它能按顺序执行所有php脚本。