PHP文件\u获取\u内容是异步的?

PHP文件\u获取\u内容是异步的?,php,asynchronous,file-get-contents,Php,Asynchronous,File Get Contents,我读到文件内容是同步的,但当我尝试下面的代码时,我不这么认为: $url = "http://foo.com"; $a = array("file11.php", "file2.php", "file3.php"); foreach ($a as $file) { $final = $url . "/" . $file; print "Calling $final ..."; $res = file_get_contents($final); if ($res)

我读到文件内容是同步的,但当我尝试下面的代码时,我不这么认为:

$url = "http://foo.com";
$a = array("file11.php", "file2.php", "file3.php");
foreach ($a as $file)
{
    $final = $url . "/" . $file;
    print "Calling $final ...";
    $res = file_get_contents($final);
    if ($res)
        print "OK";
    else
        print "ERR!";
    print "<br>";
}
$url=”http://foo.com";
$a=数组(“file11.php”、“file2.php”、“file3.php”);
foreach($as$文件)
{
$final=$url.“/”$file;
打印“调用$final…”;
$res=文件获取内容($final);
如果($res)
打印“OK”;
其他的
打印“错误!”;
打印“
”; }
每个文件执行一些复杂的任务,所以我知道任何脚本的最小执行时间,但这段代码运行速度非常快,似乎不会等待每个请求!如何等待每个文件请求?
谢谢:)

以上代码绝对是同步的。因此,如果您说代码在几秒钟后退出,而它应该更长,那么您可能有代码问题

尝试将此代码包装在Try{}catch中。并打印错误。看看上面怎么说

Try { code here } catch (Exception $e) {  }
此外,php.ini中脚本的MAX_执行的大多数默认设置是30秒。之后,它也将在出现致命超时错误时退出。检查php.ini中的设置并根据需要进行调整

编辑:

收集您的评论后,我现在假设您正在尝试执行所引用的php文件。这会让你的问题变得很混乱,标签也错了

您在示例中使用的代码只读取文件的内容,因此它不执行任何操作。这就解释了为什么它返回得如此之快,而你却认为它需要一段时间

如果要执行引用的php文件,请按如下方式执行:

Include_once( $final );

而不是打开内容

呃,什么?解释你的意思,因为你说的话让人非常困惑。
每个文件至少花费30秒是什么意思?你希望在这里看到什么?你到底看到了什么?你是怎么测量的?为什么这让您相信file_get_contents()是异步的,而不是预期的同步行为?PHP不是异步的,file_get_contents当然不是。您遇到的问题与此无关。@MarkBaker:执行一些复杂的任务,当我单独运行它(从其url)时,我必须等待相当长的时间(不完全是30秒:)才能得到结果!对于file2.php和file3.php也是一样的@Bulk:我发现了一些不同的东西:First comment@user你可能想检查你提到的问题的答案,而不是问题本身。Bulk在这件事上绝对正确。没有例外:(脚本运行没有问题,没有超时错误…那么你得到了什么输出?如果超时发生,实际上是致命的,因此在处理过程中不会出现错误。哦,你实际上没有运行驻留在被调用php文件中的php代码…你只是得到了它的内容。我想你知道这一点,对吧?