2016-06-24 50 views
0

Yii2顯示重定向到Yii2頁面時沒有連接

SQLSTATE [HY000] [2002]套接字操作嘗試一個無法連接的主機。

當沒有互聯網接入,我怎麼能讓它重定向到一個頁面,說./index.php?r=site/neterror?我試圖通過使用此代碼

<?php 
use yii\db\Exception; 
defined('YII_DEBUG') or define('YII_DEBUG', true); 
defined('YII_ENV') or define('YII_ENV', 'dev'); 
require(__DIR__ . '/../vendor/autoload.php'); 
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); 
$config = require(__DIR__ . '/../config/web.php'); 
try 
{ 
    (new yii\web\Application($config))->run(); 
} 
catch(Exception $e) { 
    header("Location: ./index.php?r=site/error"); /* Redirect browser */ 
    exit(); 
} 

爲此在網絡/ index.php文件,但所有我得到的回覆是The page isn't redirecting properly

+0

剛將您的調試'YII_DEBUG'環境更改爲'false' –

回答

1

下面所示,只有當YII_DEBUG在入口腳本true數據庫除外圖用不同的味精..

由於Yii中的ErrorHandler類中定義使用自己的看法在UserException你必須假YII_DEBUG

class ErrorHandler extends \yii\base\ErrorHandler{ 
.... 
    protected function renderException($exception){ 
    .. 
    $useErrorView = $response->format === Response::FORMAT_HTML && (!YII_DEBUG || $exception instanceof UserException); 

    if ($useErrorView && $this->errorAction !== null) { 
     $result = Yii::$app->runAction($this->errorAction); 
     if ($result instanceof Response) { 
      $response = $result; 
     } else { 
      $response->data = $result; 
     } 
    } 
    } 


}