我想用 PHP 生成一个 500 内部服务器错误页面,我该怎么做?
问问题
8595 次
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 回答