首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果页面未连接到数据库,它是否可以返回输出

问如果页面未连接到数据库,它是否可以返回输出
EN

Stack Overflow用户
提问于 2015-09-15 22:24:45
回答 2查看 30关注 0票数 0

最初使用PHP时,当我测试到数据库的连接时,我看到它执行以下操作

代码语言:javascript
复制
if (empty($this->_db)) { return; }

但我现在遇到的问题是,当我的页面的这一部分没有连接到数据库时,我的页面就不会加载。我可以要这样的东西吗?

代码语言:javascript
复制
if (empty($this->_db))
{
    $output .= "<!-- NOTICE WHEN DB SERVER IS DOWN -->";
    $output .= '<dt><a href="http://someurl.php">Contact Us</a></dt>';
    $output .= '<dd>We are currently updating our server. Please check back at a later time.</dd>';
    return $output;
}

我知道我可以测试它,但我想让它知道是否有正确的语法和/或更准确的方法来设置它。

EN

回答 2

Stack Overflow用户

发布于 2015-09-15 22:29:00

看起来挺好的。你可能还想返回一个503 (暂时不可用),这样即使谷歌机器人发现你猝不及防,它也不会毁了你。

代码语言:javascript
复制
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 300');//300 seconds
票数 0
EN

Stack Overflow用户

发布于 2015-09-15 22:30:31

如果像数据库这样基本的东西不能工作,你应该抛出一个异常。然后,您应该有一个全局异常处理程序,它会输出一个很好的错误页面。这个全局异常处理程序可以在PHP代码中设置,也可以简单地在web服务器中配置,以便每当PHP脚本出错时,web服务器都会为特定的页面提供服务。

如果你在有异常的情况下进入依赖注入的面向对象编程,这样的问题只需要相对较少的代码,并且任何阶段的问题都会找到合适的错误处理程序。您当然不应该在代码中散布一堆if (..)检查来处理这样的全局错误情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32588592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档