Apache不希望显示我已安装的自定义错误文档。
在我的虚拟世界里
DocumentRoot /var/www/site/public
...
ErrorDocument 500 /500.html500.html位于/var/www/site/public/500.html中。
为了测试这一点,我刚刚创建了一个断开的php页面,它确实返回了500个头,但是页面是空的。我怀疑这是php生成500页而不是apache的结果。那么,如何获得php来显示自定义apache错误文档呢?
发布于 2015-03-13 18:45:51
这是正常行为,因为PHP错误不被认为是5xx服务器错误。根据RFC 7231
6.6。服务器错误5xx状态代码的5xx (服务器错误)类表示服务器知道它已经错误或无法执行请求的方法。- 6.6.1。500内部服务器错误500 (内部服务器错误)状态代码表示服务器遇到了无法满足请求的意外情况。
PHP错误应该始终被修复,因为它们可能会给您带来安全问题。出于同样的原因,处理php错误的最佳实践是记录这些错误,供程序员查看并向用户隐藏。这种设置将(以php.ini格式):
error_reporting = E_ALL
log_errors = On
display_errors = Off这将记录web服务器的错误日志或配置的其他错误日志中的错误。您可以在加载页面期间对日志文件执行tail -f,而不是从站点读取它们。
https://serverfault.com/questions/675307
复制相似问题