[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: db_query(__FILE__, __LINE__,
vagon
Скрипт был переписан одним программистом, который куда-то пропал безследно. В числе прочего им были сделаны такие доработки:

В config.php была добавлена такая функция:

if(!function_exists('db_query')){
function db_query($f = false, $l = false, $sql = false){
static $cnt = 0;
if($sql == false) return $cnt;
++$cnt;

@file_put_contents('dump.txt', file_get_contents('dump.txt').str_pad(basename($f).' ('.$l.')', 25).$sql."\r\n");

return mysql_query($sql);
}
}

Вид запросов тоже поменялся, например, было:


$res = mysql_query("SELECT COUNT(*) as kolvo FROM `tb_accessblock` WHERE ip='$ip'");
$res = mysql_fetch_assoc($res);
if($res['kolvo']>0)
{
и т.д. .............
}

стало:


$res = db_query(__FILE__, __LINE__, "SELECT COUNT(*) as kolvo FROM `tb_accessblock` WHERE ip='$ip'");
$res = mysql_fetch_assoc($res);
if($res['kolvo']>0)
{
и т.д. .............
}

Т.е. в настоящий момент в файл пишутся логи запросов.
Файл dump.txt по его словам должен быть чистым, если же в нем появляется какая-то запись, то это значит что что-то работает не так, и это нужно исправлять. Раньше он и был чистым, но со временем скрипт переписывался, изменялся и файл заполняется записями, типа:
page.php (23) SELECT * FROM `users` WHERE username='vasya'
В связи с этим, вопрос:
что означают эти записи, т.е. что именно и как нужно исправлять в скрипте?



Спустя 17 минут, 37 секунд (22.10.2011 - 18:29) redreem написал(а):
либо таблицы users не существует, либо в ней нет поля username, либо (возможно) в ней нет пользователя vasya

Спустя 20 минут, 15 секунд (22.10.2011 - 18:49) vagon написал(а):
Все это есть, и ошибок таких не возникает.

Спустя 3 минуты, 45 секунд (22.10.2011 - 18:53) redreem написал(а):
без анализа всех ваших исходников ничего не скажем. найдите во всех файлах .php строку dump.txt, коментите поочереди запись и смотрите - пишется или нет. как только писаться перестанет - значит в этом месте что-то. то и выложите сюда для анализа.

Спустя 28 минут, 6 секунд (22.10.2011 - 19:21) vagon написал(а):
dump.txt есть в одном единственном файле - config.php, внутри функции, (1 пост) - т.е. коментить то особо и нечего.
И, это было сделано все-таки не для логирования запросов, а для того чтобы что-то отладить в запросах. узнать бы что именно... Да, забыл сказать. Все эти интересные вещи которые были сделаны тем программистом преследовали одну цель - снижение нагрузки на сервер.

Спустя 50 минут, 55 секунд (22.10.2011 - 20:12) redreem написал(а):
отключите строчку:

//@file_put_contents('dump.txt', file_get_contents('dump.txt').str_pad(basename($f).' ('.$l.')', 25).$sql."\r\n");


и спите спокойно.



Спустя 2 часа, 21 минута, 1 секунда (22.10.2011 - 22:33) vagon написал(а):
Смысл не в том чтоб отключить строчку (это не проблема), а в том что бы понять, для чего и с какой целью было внедрено это дополнение.....

Спустя 2 минуты, 7 секунд (22.10.2011 - 22:35) redreem написал(а):
ну возможно на период отладки это и было актуально - сейчас - смысла нет.

Спустя 16 часов, 26 минут, 17 секунд (23.10.2011 - 15:02) vagon написал(а):
Файл dump.txt по его словам должен быть чистым, если же в нем появляется какая-то запись, то это значит что что-то работает не так, и это нужно исправлять (@ пост №1) - сейчас файл заполнен записями. - Как так нет смысла?

Спустя 53 минуты, 48 секунд (23.10.2011 - 15:55) redreem написал(а):
а кто сказал что тот прогер просто херню не ляпнул для пущей важности?

Спустя 17 часов, 37 минут, 53 секунды (24.10.2011 - 09:33) vagon написал(а):
Цитата
а кто сказал что тот прогер просто херню не ляпнул для пущей важности?
О том что он не ляпнул херню для пущей важности, говорит хотя бы то что он никогда ничего не ляпал для пущей важности. Все что он говорил и делал было обоснованным.
И переписал почти все запросы в скрипте, таким образом тоже, для пущей важности? "А чтоб никто не догадался!" @"Операция Ы".

Спустя 22 минуты, 59 секунд (24.10.2011 - 09:56) Michael написал(а):
Странно, как вы и сказали
Цитата
в настоящий момент в файл пишутся логи запросов

и абсолютно непонятно почему
Цитата
Файл dump.txt по его словам должен быть чистым, если же в нем появляется какая-то запись, то это значит что что-то работает не так, и это нужно исправлять

Может:
Цитата
но со временем скрипт переписывался

и функция db_query быть переписана? Чтобы логировало ошибки их надо и обрабатывать как ошибки. Сейчас этого нет.

Спустя 11 минут, 33 секунды (24.10.2011 - 10:08) redreem написал(а):
да,да, спасибо Michael, у меня уже терпения не хватило все это писать smile.gif

Спустя 4 дня, 11 часов, 20 минут, 43 секунды (28.10.2011 - 21:29) vagon написал(а):
Цитата
и функция db_query быть переписана? Чтобы логировало ошибки их надо и обрабатывать как ошибки. Сейчас этого нет.

Нет. функция db_query не была переписана. в config.php вообще никаких изменений не вносилось.

Цитата
и абсолютно непонятно почему

Пишутся потому, что и должны писаться при каких-то неполадках в работе скрипта, как и говорил тот самый программист. В период отладки писались, он дебажил запросы и логи переставали писаться. Сейчас снова идет заполнение файла. Вопрос изначально и заключался в том, ЧТО ИМЕННО можно дебажить таким образом?

Спустя 8 часов, 41 минута, 39 секунд (29.10.2011 - 06:10) twin написал(а):
Как что... Запросы. Другой вопрос, что функция организована не совсем верно, но это уже на совести разработчика. А вообще, если есть логи, то нужно для начал посмотреть что в них, пропнализировать и исправить ситуацию. Для того и.

Покажите кусочек, может чем и поможем.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.