Yii2 - 错误#1 - 发生内部服务器错误

时间:2014-12-11 21:45:22

标签: php redirect hyperlink translation yii2

问候语

我已将Yii2应用程序上传到Web服务器(非本地):http://acastro.wc.lt/

问题在于,当尝试在ENG或PT语言之间切换时,框架会出现ERROR#1 - 发生内部服务器错误。

在我的Layout.php中,我在nav :: Widget中有以下链接:

'options' => ['class' => 'navbar-nav navbar-right'],
            'items' => [
                ['label' => 'ENG', 'url' => ['/site/langus'], 'visible' => Yii::$app->user->isGuest],
                ['label' => 'PT', 'url' => ['/site/langpt'], 'visible' => Yii::$app->user->isGuest],

在我的siteController中,我有动作在实时翻译应用程序的语言之间切换:

public function beforeAction($action) {
    if (Yii::$app->session->has('lang')) {
        Yii::$app->language = Yii::$app->session->get('lang');
    } else {
        Yii::$app->language = 'us';
    }
    return parent::beforeAction($action);
}

public function actionLangus(){  
    Yii::$app->session->set('lang', 'us'); //or $_GET['lang']
    return $this->redirect(Url::toRoute(['site/index']));   
}

  public function actionLangpt(){  
    Yii::$app->session->set('lang', 'pt'); //or $_GET['lang']
    return $this->redirect(Url::toRoute(['site/index']));
}

在我的MAC OSX Yosemite中由MAMP安装的本地主机上,链接运行良好,并实时更改应用程序语言,但在实时服务器中,链接ENG和PT会抛出ERROR#1。

也许我在重定向表达式

中的操作存在问题
Yii::$app->session->set('lang', 'pt'); //or $_GET['lang']

任何可能导致此行为的问题的想法仅在实时服务器中?服务器中的PHP将更新为最新版本和最新版本之一。

1 个答案:

答案 0 :(得分:2)

不确定这是否是问题,因为一切正常。但请确保您没有任何短标签。除了<?<?=之外,您应该没有<?php。通常本地安装更放松,但服务器上的短标签关闭 的修改
也可以尝试返回$ this-&gt; redirect(['site / index']);