Wie drucke ich alle Abfragen in Magento?
Ist es möglich alle query-strings in Magento? Ich mag, um zu sehen, welche queries ausgeführt werden.
Dank
InformationsquelleAutor der Frage Moon | 2010-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bin ich mir nicht 100% sicher, dass dies fangen jeder Abfrage, aber die meisten laufen durch die query-Methode
Zend_Db_Adapter_Abstract
query
Methode inMit, dass im Hinterkopf, Sie könnte vorübergehend fügen Sie einige debugging-Anweisungen (eine Kopie, die Sie in
app/code/local/Mage
um sicher zu sein)Wenn Sie brauchen, um Sie alle zu fangen, Sie wären besser dran, dies zu tun auf der MySQL-Ebene (das ist nicht immer möglich, je nach Ihren host - /IT-situation)
InformationsquelleAutor der Antwort Alan Storm
In Varien_Db_Adapter_Pdo_Mysql
set
und (wenn noch vorhanden sind) erstellen der Ordner definiert, in
Geben die lese - /Schreibberechtigung
InformationsquelleAutor der Antwort Claudia Schasiepen
Aktiviere den Zend SQL Profiler mit dem folgenden Knoten in Ihrem local.xml
Dann können Sie den Zugriff auf den profiler irgendwo in deinem code und rufen Sie eine Vielzahl von Informationen über alle ausgeführten Abfragen:
Einfach die Ausgabe aller Abfragen:
Können Sie fügen Sie diese beiden Zeilen am Ende der
index.php
zu sehen, dass alle Abfragen am unteren Rand jeder Seite. Werden Sie sich bewusst, dass das brechen von AJAX-Anfragen, die eine JSON-Antwort, so könnten Sie die Protokollierung der Abfragen, anstatt Sie zu drucken, mit diesem code (wieder, fügen Sie es am Endeindex.php
):Dann finden Sie alle Abfragen in
var/log/queries.log
Vergessen Sie nicht, entfernen Sie die Zeilen erneut, nachdem Sie das Debuggen abgeschlossen ist!
InformationsquelleAutor der Antwort Fabian Schmengler
Werden die Abfragen erheblich variieren, je nach Ihren Aktivitäten. Wenn Sie haben einige Kontrolle über den MySQL-server, aktivieren Sie die Abfrage-Protokollierung:
Dann kannst du den SQL-log zu sehen, Abfragen. Als ein Wort oder eine Warnung, Magento neigt dazu, führen Dutzende von Abfragen, die auf jeder Seite geladen, und Hunderte so speichern Sie ein Objekt.
Dank,
Joe
InformationsquelleAutor der Antwort Joseph Mastey
InformationsquelleAutor der Antwort Mukesh Chapagain
Schalten Sie das MySQL-logging sicher, dass sich alle Abfragen-Transaktionen. Hier ist, wie können Sie auf die Anmeldung.Zum einschalten der Protokollierung in Datei protokollieren. Platzieren Sie den folgenden in die meine.cnf-Datei oder my.ini-Datei, wenn Sie auf windows, und starten Sie MySQL.
Dann, wenn Sie sich einloggen möchten, um die Tabelle mysql.general_logführen Sie diese Abfragen:
Führen Sie diese, wenn Sie sich einloggen möchten, um die Datei:
InformationsquelleAutor der Antwort s-hunter