2012-06-28 71 views
1

我部署了一個運行Doctrine2查詢的Symfony2控制檯命令。我現在遇到了查詢問題(當刷新EntityManager時)並想查看調試的查詢。所以問題很簡單:有沒有一種方法可以調試在控制檯命令中執行的查詢,其結果與Symfony2工具欄相似?理想情況下,我希望能夠在控制檯中查看查詢(因爲我只在生產服務器中遇到問題,並且已經禁止從前端控制器訪問開發環境)。在Symfony2控制檯命令中調試SQL查詢

謝謝!

+0

您使用的是什麼DMBS? – DonCallisto

+0

DBMS是MySQL,但這個信息不應該是決定性的,以回答IMHO的問題(因爲Doctrine正在使用PDO)。我不想要基於DBMS日誌的解決方案(取決於託管提供商,您可能沒有日誌或無法訪問它們)。但是,感謝您的詢問無論如何;-) –

+0

我問只是建議您使用DMBS日誌;-) – DonCallisto

回答

2

您可以使用the profiler在命令結束後或每次刷新後自行顯示查詢。

+0

好吧,這已經是一個很好的見解。是否沒有現有的面向控制檯的界面來訪問分析器存儲的數據?恕我直言,應該有一個相當於Web調試工具欄的控制檯...像php應用程序/控制檯探查器:request --list --limit 10列出http和控制檯請求,然後php應用程序/控制檯分析器:request:queries - -request xxs35gsdf43 ... –

+0

我不認爲在控制檯中有一個很好的通用解決方案。 Web請求是無狀態的:您加載一個頁面,就是這樣。一個命令可以運行很長時間,產生其他命令,可能沒有tty等等。在命令結束時只顯示來自profiler的收集數據應該不會太多工作。 –

+0

我同意你的說法。不過,我希望控制檯命令的類似調試功能與http請求類似;-) –