@EVOSandru6

Как настроить lamp для отлова ошибок в Yii1?

Добрый день,

Такая проблемка, часть ошибок в yii не отлавливаются на моем lamp сервере , установленном на Debian 8. Улетаю в серый браузерный Server error 500.
Приходится вслепую искать ошибку в файлах. Обычно такая беда была на отсутствие вызов методов несуществующих объектов, либо на обращение к несуществующим константам.

Lamp - самый обыкновенный.

Входной index.php: ( пробовал с тремя разными error_reporting)

<?php
// error_reporting(E_ALL);
// error_reporting(E_ALL & ~E_NOTICE);
error_reporting(E_ALL & ~(E_NOTICE | E_DEPRECATED | E_STRICT));
define('YII_DEBUG', true);
if($_SERVER['HTTP_HOST'] == 'domen') {
    $yii    = dirname(__FILE__).'/framework/yii.php';
    $config = dirname(__FILE__).'/protected/config/dev.php';
    /** remove the following lines when in produCoction mode */
    defined('YII_DEBUG') or define('YII_DEBUG',true);
}
/** Иначе выключаем режим отладки и подключаем рабочую конфигурацию */
else {
    $yii        =    dirname(__FILE__).'/framework/yiilite.php';
	$config     =    dirname(__FILE__).'/protected/config/production.php';
}
/** specify how many levels of call stack should be shown in each log message */
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
require_once($yii);
$app = Yii::createWebApplication($config);
$app->run();


Удалось провалиться только в метод

Controller::beforeAction($action){
    echo 'AAAAAAA';
    die();
    return true;
}


В конфиге:

'errorHandler' =>
    [
        'errorAction'=>'site/error',
    ],
    'log' =>
    [
        'class'=>'CLogRouter',
        'routes'=>
        [
            [
                'class'=>'CFileLogRoute',
                'levels'=>'error, warning',
                /*
                 * для красивого вывода запросов в нижнем логе
                 * 'class'=>'CProfileLogRoute'*/
            ],

            // uncomment the following to show log messages on web pages
            /*
            array(
                'class'=>'CWebLogRoute',
            ),
            */
        ],
    ],


В какие настрйки лезть, чтобы оживить YiiDebugger? Помнится на винде на openserver не было таких проблем.
  • Вопрос задан
  • 207 просмотров
Решения вопроса 2
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Проверьте права на запись папки с логами дебага. Если на локалке работало, а на сервере нет - это самый вероятный вариант. Папка runtime (yii2), по yii1 не помню, уже давно его похоронил.
Да и не забываете, что на сервере в конфиге надо прописывать свой ip для доступа к дебагу. Так как он по умолчанию доступен только с локалхоста.
Ответ написан
@EVOSandru6 Автор вопроса
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Mylistryx
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev'); // - вот это надо добавить!

Пардон, не доглядел, что это Yii1, но в теории там тоже надо включить режим разработки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы