Mysql Opencart网站下载页面

Mysql Opencart网站下载页面,mysql,opencart,Mysql,Opencart,只是想知道在opencart中是否有一种简单的方法来显示一个页面,如果MySql数据库不可用,则该页面会显示网站已关闭,而不是显示所有错误 目前,我的主机与MySQL服务器之间存在问题,当我访问我的站点时,会出现一系列错误: 警告:mysql_connect()[function.mysql connect]:无法通过第6行xxxxxxxx/public_html/system/database/mysql.php中的套接字“/var/lib/mysql/mysql.sock”(2)连接到本地m

只是想知道在opencart中是否有一种简单的方法来显示一个页面,如果MySql数据库不可用,则该页面会显示网站已关闭,而不是显示所有错误

目前,我的主机与MySQL服务器之间存在问题,当我访问我的站点时,会出现一系列错误:

警告:mysql_connect()[function.mysql connect]:无法通过第6行xxxxxxxx/public_html/system/database/mysql.php中的套接字“/var/lib/mysql/mysql.sock”(2)连接到本地mysql服务器


注意:错误:无法使用创建数据库链接xxxxxxxxxx@localhost在第7行的/home/flamingl/public_html/system/database/mysql.php中

在OpenCart中实现这一点并不是一个好方法。也就是说,这是肮脏的方式:

在根目录中创建一个
maintenance.php
,其中包含以下内容(如果数据库连接失败,将加载此内容):


是的,这是可能的。
index.php
中有一个钩子,用于检查维护模式是否打开。在
index.php
中,您应该检查到DB的连接是否成功,如果不成功,您应该立即手动切换到维护模式。您可以通过包含维护模式模板并退出运行时来实现这一点。但我建议仅在生产环境中使用此解决方案,在本地环境中,您应该了解可能发生的任何错误。
<?php
// Tell any crawlers visiting the site that it's currently unavailable
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 300');//300 seconds
?>
<html><body>
<h1>Sorry, the website is currently unavailable</h1>
...
...
</body></html>
public function __construct($hostname, $username, $password, $database) {
  if (!$this->link = @mysql_connect($hostname, $username, $password)) {
    exit(include(DIR_SYSTEM . '../maintenance.php'));
  }

  if (!mysql_select_db($database, $this->link)) {
    exit(include(DIR_SYSTEM . '../maintenance.php'));
  }

  mysql_query("SET NAMES 'utf8'", $this->link);
  mysql_query("SET CHARACTER SET utf8", $this->link);
  mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $this->link);
  mysql_query("SET SQL_MODE = ''", $this->link);
}