php需要抛出503状态代码

php需要抛出503状态代码,php,html,error-handling,require,Php,Html,Error Handling,Require,我使用的require函数如下所示: <?php require("../require/head.php"); require("../require/header.php"); require("content.php"); require("../require/footer.php"); ?> 如果任何require没有找到其目标,是否可以抛出503代码?如何抛出? 还有可能在我不希望出现503错误的情况下引发正常异常以及如何引发?

我使用的require函数如下所示:

<?php 
    require("../require/head.php"); 
    require("../require/header.php");
    require("content.php");
    require("../require/footer.php"); 
?>

如果任何require没有找到其目标,是否可以抛出503代码?如何抛出?
还有可能在我不希望出现503错误的情况下引发正常异常以及如何引发?

因为HTTP服务器响应代码是在头中发送的,所以必须在将任何负载发送到客户端之前确定这一点

因此,您可以使用输出缓冲或首先循环检查所需文件的可读性,然后在缺少一个资源时使用发送503

<?php

$files = [
    "../require/head.php",
    "../require/header.php",
    "content.php",
    "../require/footer.php",
];

foreach ($files as $file) {
    if (!is_readable($file)) {
        // return 503
        http_response_code(503);
        die();

        // or you could throw an exception
        throw new Exception("Missing file: $file");
    }
}

foreach ($files as $file) {
    require $file;
}

我认为这对于PHP来说并不容易,因为您可以尝试使用include,如果include失败,则发送503头。