2014-11-03 3 views
1

Невозможно сделать Yii, чтобы показать ошибку для веб-браузера. Настроен пользовательский обработчик ошибок в конфигурации:Yii не отображается никаких ошибок

'errorHandler' => array(
      // use 'site/error' action to display errors 
      'errorAction' => 'site/error', 
     ), 

Но все ошибки только получили написали application.log, а затем Apache сервера пустой страница с ошибками 500. Как сделать ошибки печати Yii на экране?

index.php:

// remove the following lines when in production mode 
defined('YII_DEBUG') or define('YII_DEBUG', true); 
// specify how many levels of call stack should be shown in each log message 
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3); 
+0

Вы установили YII_DEBUG в true? –

+0

Возможный дубликат [Если в yii ошибка показать вывод перед ошибкой] (http://stackoverflow.com/questions/23843038/if-in-yi-error-show-outputing-before-error) –

+0

Пожалуйста, покажите нам 'actionError() 'от вашего SiteController и ** error.php ** просмотреть файл из ** protected/views/site ** –

ответ

-1

Набор YII_DEBUG истина в вашем index.php, и вы должны видеть вещи ошибки придумать. Не забудьте изменить это во время производства.

(Этот вопрос будет получить помечается как уже задавала ха-ха)

+0

Это не помогает, к сожалению ... –

1

Это может быть большим количеством настроек Apache. То, что у вас есть, является правильным.

У меня также есть этот.

определено ('YII_DEBUG_SHOW_PROFILER') или определяет ('YII_DEBUG_SHOW_PROFILER', true);

Вы также можете это сделать.

error_reporting(E_ALL); 
ini_set("display_startup_errors","1"); 
ini_set("display_errors","1"); 
3

Вы должны немного изменить свой config/main.php. Пункт errorHandler. Он должен выглядеть следующим образом:

'errorHandler' => [ 
    // use 'site/error' action to display errors 
    'errorAction' => YII_DEBUG ? null : 'site/error', 
], 

Это произошло из-за увеличения приоритета CErrorHandler::$errorAction. Вот обсуждение: https://github.com/yiisoft/yii/issues/3760

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