0

我想用 PHP 生成一个 500 内部服务器错误页面,我该怎么做?

4

2 回答 2

19

header("HTTP/1.1 500 Internal Server Error");在任何输出之前...输出。
使用此函数之后发送的输出,您可以显示一个自定义页面来解释错误。

<?php
    header('HTTP/1.1 500 Internal Server Error');
    exit("I error because foo");
?>

您可以阅读功能手册页以header()获取更多信息。

如果你想让默认的 Apache 页面显示,没有直接从 PHP 加载它的方法,但你可以做一个这样的 hack:

<?php
    if ($error)
        require("badfile.php");
?>

在 badfile.php 中:

<?php strpos) ?>

例如。

另一种尝试的解决方案是,您可以抛出一个没人会捕捉到的异常。

<?php
    if ($error)
        throw new \Exception("Error because foo");
?>

或者复制粘贴Apache使用的原始文件,出错后打印出来:

<?php
    header('HTTP/1.1 500 Internal Server Error');
    header('Content-Type: text/html');
    readfile('path/to/html/file.html');
    exit(1);
?>
于 2012-10-25T13:10:51.667 回答
5

制作一个糟糕的 .htaccess 文件(在其中放入一些垃圾)。

于 2012-10-25T13:11:44.573 回答