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


Run multiple php scripts in sequence from a single php script or batch file in windows

我有 5 个 php 脚本需要一个接一个地执行。如何创建一个按顺序执行所有 php 脚本的单个 php/批处理脚本。

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

#!/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
# ...

我使用"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 脚本。