Denwer. Shop-script. Mysql. Логи запросов. Инфо.

Статус
В этой теме нельзя размещать новые ответы.

Zolinger

Постоялец
Регистрация
29 Сен 2008
Сообщения
111
Реакции
69
В процессе написания модификаций и откладки новых запросов для Shop-script-а столкнулся с цельной проблемкой...
Контроль выполнения запросов к БД.

Много времени отнимали поиск и устранение непонимания базы чего от неё хотят.

Дэбаггер для Shop-script-а прикрутить не получилось, поэтому потребовалось иметь логи всех запросов к БД, т.к. часто все работает, а условие, например, не выполняется.

Перерыв массу данных по форумам нашел следующее решение.

В Mysql есть утилита mysqld.exe. Запуск её с нужными параметрами решает нашу задачку.

Для этого в файл Z:\denwer\scripts\init.d\mysql.pl нужно добавить всего одну строчку:
"--log=C:/localhost.log",

в данном куске кода:
PHP:
        # Run the server.
        my $cmd = join " ", (
          "start $exe",
          ($exe=~/mysqld-max/? ("--defaults-file=$config") : ()),
          "--user=root",
          "--standalone",
#          "--init-connect=\"insert into mysql.test set test=current_timestamp()\"",
          "--basedir=$basedir",
          "--character-sets-dir=$basedir/share/charsets",
          "--log=C:/localhost.log",
          ($CNF{mysql_args}||""),
        );

Результат: в корне диска "C:\" будет создан лог-файл localhost.log всех запросов к Mysql-базе Дэнвера.
(путь к файлу ессно можно прописывать любой. )
В файле сразу видно, что именно Шоп "спрашивает" у базы и косяки запросов очень быстро отлавливаются и ессно устраняются. (файл разбухает и не очищается, но про это пока хз)

Параметры запуска mysqld.exe могут быть иными и выбираются по личному усмотрению, но про это спросите у Гугля... ;)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху