如何在PHP中生成500内部服务器错误?

时间:2012-10-25 13:09:55

标签: php apache

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

2 个答案:

答案 0 :(得分:15)

在任何输出为...输出之前

header("HTTP/1.1 500 Internal Server Error"); 使用此功能后发送的输出,您可以显示解释错误的自定义页面。

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

您可以阅读manual page of header() function了解详情。

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

<?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);
?>

答案 1 :(得分:3)

创建一个糟糕的.htaccess文件(在其中加入一些垃圾)。