我有 5 个 php 脚本需要一个接一个地执行。我如何创建一个 php/batch 脚本来按顺序执行所有 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
# ...
我使用“等待”命令做了一些测试,因为我似乎只是在每个脚本的调用之间放置了等待。我做了一个小测试,在 php 脚本中创建数据库,在 bash 脚本中返回一些记录,然后用另一个 php 脚本更新,然后用另一个 bash 脚本返回更新的结果,它似乎工作正常......
根据我的阅读,只要下标不调用另一个下标,如果在脚本调用之间使用“等待”命令,主脚本就会等待。
代码如下:
#!/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 脚本。