PHP是否顺序处理include


Does PHP sequentially process includes

我有单独的php文件,我在我的linux服务器上运行在单独的cron作业。我想将它们合并到一个cron作业中,该作业调用具有多个php包含的单个php文件,并按顺序运行它们。每个include必须等待处理,直到先前的操作完成。这是php处理服务器端包含的行为吗(注意:这里没有涉及html)?如果没有,有没有建议的替代方案?

是的,如果你一个接一个地包含它们,像这样:

include 'a.php';
include 'b.php';
include 'c.php';

…那么是的,b.php不会启动,直到a.php没有完全完成它的工作
这就是PHP的工作方式-一行接一行

是。另一个类/文件所依赖的类/文件应该包含(或要求)在依赖的类/文件之前。

是,下一个包含将不会运行,除非前一个执行完成。

简单的回答是肯定的,包含顺序执行,只要你在这些包含中执行的内容不会在服务器上创建一个新进程或调用另一个生成自己进程的程序。

使包含可管理的一种方法是,您可以将所有包含转换为函数,然后像这样进行:

Include a.php.  //contains function definitions
Include b.php.  //contains function definitions
Include c.php.  //contains function definitions
functionFromC();
functionFromA();
functionFromB();

但是我不知道那是否符合你的需要。: -)