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

use*_*071 0 php apache

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

Mar*_*rio 15

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

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

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

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

<?php
    if ($error)
        require("badfile.php");
?>
Run Code Online (Sandbox Code Playgroud)

并在badfile.php中:

<?php strpos) ?>
Run Code Online (Sandbox Code Playgroud)

例如.

另一个尝试的解决方案,你可以抛出一个没人会抓到的异常.

<?php
    if ($error)
        throw new \Exception("Error because foo");
?>
Run Code Online (Sandbox Code Playgroud)

或者复制并粘贴Apache使用的原始文件,并在发生错误后将其打印出来:

<?php
    header('HTTP/1.1 500 Internal Server Error');
    header('Content-Type: text/html');
    readfile('path/to/html/file.html');
    exit(1);
?>
Run Code Online (Sandbox Code Playgroud)


Pet*_*iss 5

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