DebugToolbar Расширение

Quote

у меня что-то не заработало...отписал в трекере.... ???

Странно ругается… У себя уже проверил на двух проектах после перехода на Yii 1.0.5 - всё работает.

У тебя сессии нормально работают?

И ещё - попробуй у себя локально сделать вот так: замени в XWebDebugRouter.php на примерно строках 326-346 с такого кода:



public static function sessionAsArray()


{


	if (isset($_SESSION))


	{


		$phpSession = array();


		$sessKeyLen = null;


		foreach ($_SESSION as $key=>$value)


		{


			if (is_null($sessKeyLen))


			{


				$values['PHP']['Key'] = substr($key, 1, strpos($key, '_')-1);


				$sessKeyLen = strlen($values['PHP']['Key'])+2;


			}


			$phpSession[substr($key, $sessKeyLen)] = $value;


		}


		$values['PHP']['Data'] = $phpSession;


	}


	if (isset($_COOKIE)) $values['Cookie'] = $_COOKIE;


	$values['Yii'] = Yii::app()->session;


	return $values;


}


на такой:



public static function sessionAsArray()


{


	if (isset($_SESSION))


	{


		$phpSession = array();


		$sessKeyLen = null;


		foreach ($_SESSION as $key=>$value)


		{


			if (is_null($sessKeyLen))


			{


				$values['PHP']['Key'] = substr($key, 1, strpos($key, '_')-1);


				$sessKeyLen = strlen($values['PHP']['Key'])+2;


			}


			$phpSession[substr($key, $sessKeyLen)] = $value;


		}


		$values['PHP']['Data'] = $phpSession;


		if (isset($_COOKIE)) $values['Cookie'] = $_COOKIE;


		$values['Yii'] = Yii::app()->session;


		return $values;


	}


	else {


		return false;


	}


}


И расскажи, что получится, твоего же кода у нас нет, чтобы с'эмулировать ситауцию.

а так заработало…получил вот такую картинку (во вложении)

Ахтунг!

в гуглкоде на странице хаутоюс (http://code.google.com/p/yiidebugtb/wiki/HowToUse)

в русском варианте

// autoloading model and component classes


  'import'=>array(


    'application.models.`*`',


    'application.components.`*`',


    'application.extensions.yiidebugtb.`*`', // наша строка


  ),

звёздочки убраны в апострофы!

Скопировал строку оттуда и потом долго тупил на ошибки. Подправить бы.

Спасибо за внимательность! Исправил.

В связи с  выходом версии 1.0.6. появилась возможность 'Profiling SQL Executions'. Было бы здорово, если бы кто-нибудь прикрутил ее к расширению.

Попробую прикрутить.

Нашёл неприятность при использовании с PHP 5.3. split считается в этой версии deprecated. Исправляется заменой на explode().

Quote

Нашёл неприятность при использовании с PHP 5.3. split считается в этой версии deprecated. Исправляется заменой на explode().

Странно. У них же разный подход…

Заглянул в доку для освежения памяти: нифига — рекомендуется preg_split(), а для случаев, когда регулярные выражения не нужны — тогда уже рекомендуется использовать explode(), как более быстрый.

Тут как раз второй вариант.

классная штука! прикрутил себе :)

Yii Версия 1.0.9. Плагин забирал из репозитория google.

Положил все куда сказано, прописал все по инструкции, а не работает =(

Вот такую ошибку выдает…




session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at H:\home\yii.lo\www\framework\web\CController.php:654)

Source File


H:\home\yii.lo\www\framework\web\CHttpSession.php(102)



Пробовал заменять функцию sessionAsArray() как здесь выше описано было, не помогло =(

Есть идеи?

Попробуй "поиграть" с


die('<pre>' . print_r(debug_backtrace(), true) . '</pre>');

в коде yiidebugtb. Посмотри, что именно вызывается раньше него, что отдает хэдеры и т.п. раньше сессии.

чудно, с 1.0.9 работет, с 1.1 работает…

использую php-5.2.9-1 win32.

замечательно, спасибо за портирование :)

как раз юзал кодигниторскую версию

Что-то у меня не захотело работать на 5.2.11, вылезает Fatal error. В issue на googlecode доавил коммент.

Это, конечно, все интересно, но можно побольше информации? Кроме версии PHP, версия Yii (тулбар же писался еще для ранней версии (в марте-апреле 2009 года, и потом его не трогали совсем), окружение, правильно ли подключили и указали настройки?

Можно в форум, можно на code.google.com, куда удобнее (а можно и туда и сюда :) ).

Версия 1.0.10, подключал все по мануалу, расширение брал с репозитория.

phpinfo в приложении.

354

1.txt

Добрый день!

Столкнулся со следующей проблемой с тулбаром.

Есть страница которая содержит только JSON данные и к ней исправно прикрепляется тулбар :(

Я посмотрел в коде, там есть проверка на isAjaxRequest, но страница эта запрашивается не через Ajax и запрашивать ее через Ajax не получится. Эта страница результат POST файла через SWF upload.

Так как подобные страницы как правило не имеют layout, была мысль вставить в тулбар проверку чтобы он не выводился в тех местах где layout не определен. Но мне не удалось внутри тулбара получить информацию о реальном контроллере и layout.

Поэтому пока сделал у себя следующий костыль во view поставил


<?php Yii::app()->getParams()->notoolbar = true; ?>

и в самом тулбаре дополнил проверку


if(!($app instanceof CWebApplication) || $app->getRequest()->getIsAjaxRequest() || $app->params['notoolbar']) return;

Но должно же быть решение правильней?

у меня есть feature request на странице гугл код не нашел куда написать … поэтому пишу здесь.

Было бы очень круто если бы можно было бы видеть результат запроса к БД.

Т.е. не просто сами запросы. А именно результат в виде раскрывающейся таблицы. Я понимаю что это двойная нагрузка … но это же только для дебаг версии.

Но было бы очень инормативно… просто порой ради этих мелочей приходится лазить в ПХПмайадмин… а особенно когда он на удаленной машине это не всегда удобно.

Что думаете ?

Кстати если это уже реализовано буду рад узнать как это получить :slight_smile: спасибо.

Здравствуйте, коллеги.

Если кто-то еще не знает, то может быть будет полезным опубликованный extension - Yii Debug Toolbar, с которым удобно можно просматривать статистику обращений к БД, лог приложения, переменные окружения при разработке приложений с использованием Yii.

Скачать можно здесь: http://www.yiiframework.com/extension/yiidebugtb

Замечание

Не забывайте выключать его при деплое приложения в рабочее окружение, а то через него можно увидеть данные для доступа к БД и другую интересную информацию.