Перейти к содержимому






Статья "Трассировка php скрипта"

Написано Song, 16 Сентябрь 2007 · 4 700 Просмотров

IPB
Часто я в своих ответах говорю "здесь нужно трассировать", "здесь нужна трассировка", когда проблема неоднозначна.
Многие спрашивают: а что это такое?

Вот теперь у вас есть возможность узнать что это такое :)
Трассировка php скрипта отладка кода скрипта




  • Жалоба
А как бы лучше организовать отладку запросов, например при удалении темы или написании сообщения? :) Т.е. debug=1 там натяжно вписывать...
  • Жалоба
Можно для админа в стандартном редиректе убрать обновление по времени, чтобы можно было прочитать список запросов. Только прийдётся ставить дебуг_левел=2. Пойдёт?
  • Жалоба
Да, так пойдет
  • Жалоба

А как бы лучше организовать отладку запросов, например при удалении темы или написании сообщения? :) Т.е. debug=1 там натяжно вписывать...

Дык я же написал: через код.
В невыводящих функциях там наполовину это предусмотрено:
function redirect_screen($text="", $url="", $override=0)
	{
		global $ibforums, $skin_universal, $DB;
		
		if ($ibforums->input['debug'])
		{
			flush();
			exit();
		}
Т.е. если debug включен, то редирект не произойдёт и можно отладить хотя бы через код, но вот незадача - этот debug через post переменные не передаётся :)

А встроенным отладчиком никак. Он выводится только при выводе через класс print страницы.
  • Жалоба
передается)
хэтэтэпэ//ссылка&debug=1
  • Жалоба
как идея:
$this->base_url   = $this->vars['board_url'].'/index.'.$this->vars['php_ext'].'?s='.$this->session_id;
из ипскласса сделать
$debug = ($this->input['debug'])?'&debug=1','';
$this->base_url   = $this->vars['board_url'].'/index.'.$this->vars['php_ext'].'?s='.$this->session_id.$debug;
  • Жалоба

передается)
хэтэтэпэ//ссылка&debug=1

каким образом?
  • Жалоба
а там переменая инпут заполняется не только $_POST, но и $_GET (в 21х например точно)

плюс, судя по комментарию перед функцией parse_incoming

* @since Time began

она и в предыдущих версиях такая-же
  • Жалоба
И что что она записывается?
Если я её не передам через ссылку, в другой сессии у меня не будет никакого дебага.
+ ещё есть POST формы где дебаг тоже не передаётся.
  • Жалоба

+ ещё есть POST формы где дебаг тоже не передаётся.

Ну так если в base_url записать debug=1, то он и в form.action будет и после отправки формы будет в $_GET.
  • Жалоба

Апрель 2021

П В С Ч П С В
   1234
567891011
12131415161718
19 20 2122232425
2627282930  

Последние комментарии