我有多个目录中的文件(foo.php)的许多副本,我想从一个PHP瞬间执行

时间:2012-12-14 13:05:54

标签: php linux batch-file cpanel

我在多个目录中有多个文件副本(foo.php),我希望从单个PHP实例(trigger.php)执行,每次执行foo.php之间都有固定的延迟,或等待每个foo.php完成。

我试图避免在CPanel服务器上同时运行相当密集的维护脚本foo.php的多个副本,从而造成严重的处理器负载。

请注意,目录结构会有所不同。

示例:

 me@my [~]# trigger.php 

执行

 home/somesub1/dir/foo.php
 home/somesub2/dir/foo.php
 home/somothersub1/somesub2/dir/foo.php
      ~~      ~~
 home/~/somesubN/dir/foo.php

有超过200个foo.php实例,所以我想避免在脚本中单独列出目录。

任何帮助都将深表感谢。

1 个答案:

答案 0 :(得分:0)

我能想到的解决方案是使用find和awk。然后在你的trigger.php文件中运行它:

echo exec('find ./ -name foo.php | awk \'{print "php " $1}\' | sh');

我相信trigger.php位于foo.php脚本的父/根目录中。

使用PHP5的DirectoryIterator是另一种选择,但您必须遍历每个子目录并使用条件语句。