php 需要抛出 503 状态码
php require throw 503 status code
我正在使用如下要求的功能:
<?php
require("../require/head.php");
require("../require/header.php");
require("content.php");
require("../require/footer.php");
?>
如果任何 require 找不到它的目标,是否可以抛出 503 代码?如何抛出?
也可以在我不希望出现 503 错误的地方抛出正常异常吗?
因为 HTTP 服务器响应代码是在 headers 中发送的,您必须在 将任何负载发送到客户端之前 确定它。
因此您可以使用输出缓冲或首先循环遍历所需文件以检查可读性,然后在缺少某个资源时使用 http_response_code
发送 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
require("../require/head.php");
require("../require/header.php");
require("content.php");
require("../require/footer.php");
?>
如果任何 require 找不到它的目标,是否可以抛出 503 代码?如何抛出? 也可以在我不希望出现 503 错误的地方抛出正常异常吗?
因为 HTTP 服务器响应代码是在 headers 中发送的,您必须在 将任何负载发送到客户端之前 确定它。
因此您可以使用输出缓冲或首先循环遍历所需文件以检查可读性,然后在缺少某个资源时使用 http_response_code
发送 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;
}