2016-02-18 2 views
1

У меня есть несколько действий, в которых я использую перенаправления, но после перехода на новый сервер все переадресации теперь приводят к пустым страницам. Я не получаю ошибок в журналах, и я уже пробовал предложения по этому вопросу YII2 redirect causes blank pageYii2 пустая страница при перенаправлении

Когда я эхо var_dump(headers_sent()), он возвращает false. В журнале отладки Yii также отображается код состояния 405. Ниже мое действие.

Я пробовал даже с помощью header("Location: http://www.google.com"), и это также приводит к пустой странице

public function actionDashboard() 
    { 

     if(strtotime(UserInfo::findOne(Yii::$app->user->Id)->active_until) < strtotime(date("Y-m-d H:i:s"))){ 
      Yii::$app->session->setFlash('warning', 'Please subscribe below.'); 
      return $this->redirect(['site/subscription'], 405); 
     } 

     $model = new Score(); 
     $deadlines = new EDeadlines(); 

     return $this->render('dashboard', [ 
      'deadlines' => $deadlines, 
      'model' => $model, 
     ]); 
    } 
public function actionSubscription() 
    { 

     Stripe::setApiKey(Yii::$app->params['stripe_sk']); 

     $userInfo = UserInfo::findOne(Yii::$app->user->Id); 

     $userInfo->customer_id != NULL ? $customer = Customer::retrieve($userInfo->customer_id) : $customer = NULL; 

     $userPayments = StripeInvoice::find() 
      ->where('customer_id=:customer_id', [':customer_id' => $userInfo['customer_id']]) 
      ->orderBy(['date' => SORT_DESC]) 
      ->all(); 

     $redeem_ch = NULL; 

     $customer != NULL ? $account_balance = $customer->account_balance : $account_balance = 0; 


     if($account_balance <= -1000 && $userInfo->refund_redeemed == 0): 

      $redeem_ch = StripeInvoice::find()->where(['refunded' => 0, 'customer_id' => $userInfo->customer_id])->one(); 

      $userInfo->redeem_charge = $redeem_ch->charge_id; 
      $userInfo->save(); 

     endif; 

     return $this->render('subscription', [ 
      'userInfo' => $userInfo, 
      'customer' => $customer, 
      'account_balance' => $account_balance, 
      'userPayments' => $userPayments, 
      'referral_count' => UserInfo::find()->where(['referrer_code' => $userInfo->your_referral_code])->count(), 
     ]); 

    } 

ответ

1

Избегайте массив

return $this->redirect('site/subscription', 405); 

и в конечном итоге использовать URL :: для

use yii\helpers\Url; 
..... 

return $this->redirect(Url::to(['/site/subscription'])', 405); 

Be убедитесь, что вам действительно нужно 405 (405 Метод не разрешен) вместо (302 Найдено = по умолчанию)

+0

даже используя 'return $ this-> redirect (Url :: to (['/ site/subscription']), 405);' все еще приводит к пустой странице. Мне нравится это лучше, поэтому я сохраняю это в коде, но это не устраняет проблему. –

+0

Я пробовал даже использовать 'header (...)', а также приводит к пустой странице –

+0

Пожалуйста, покажите свое действие. Подписка или ваша подписка/индекс. – scaisEdge

Смежные вопросы