Как я печатаю все запросы в Magento?

Действительно ли возможно отобразить все строки запроса в Magento? Мне действительно нравится видеть, какие запросы выполняются.

Спасибо

17
задан Fabian Schmengler 5 July 2015 в 12:29
поделиться

2 ответа

Я не уверен на 100%, что это будет ловить каждый запрос, но большинство из них выполняется с помощью метода запроса Zend_Db_Adapter_Abstract query метод в

lib/Zend/Db/Adapter/Abstract.php

Имея это в виду, вы можете временно добавить некоторые отладочные операторы (на всякий случай к копии, сделанной в app / code / local / Mage )

public function query($sql, $bind = array())
{
    // connect to the database if needed
    $this->_connect();

    // is the $sql a Zend_Db_Select object?
    if ($sql instanceof Zend_Db_Select) {
        if (empty($bind)) {
            $bind = $sql->getBind();
        }

        $sql = $sql->assemble();
    }
    echo "{$sql}\n<br />\n";
    var_dump($bind);

Если вам нужно поймать их все, лучше сделать это на уровне MySQL (что не всегда возможно в зависимости от вашего хоста / ИТ-ситуации)

26
ответ дан 30 November 2019 в 09:56
поделиться

Запросы будут существенно различаться в зависимости от ваших действий. Если у вас есть некоторый контроль над сервером MySQL, попробуйте включить ведение журнала запросов:

set global general_log = on

Затем вы можете получить журнал SQL для просмотра запросов. Как слово или предупреждение, Magento имеет тенденцию выполнять десятки запросов при каждой загрузке страницы и сотни для сохранения объекта.

Спасибо, Джо

6
ответ дан 30 November 2019 в 09:56
поделиться
Другие вопросы по тегам:

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