我在多个目录中有多个文件副本(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实例,所以我想避免在脚本中单独列出目录。
任何帮助都将深表感谢。
答案 0 :(得分:0)
我能想到的解决方案是使用find和awk。然后在你的trigger.php文件中运行它:
echo exec('find ./ -name foo.php | awk \'{print "php " $1}\' | sh');
我相信trigger.php位于foo.php脚本的父/根目录中。
使用PHP5的DirectoryIterator是另一种选择,但您必须遍历每个子目录并使用条件语句。