2016-04-07 48 views
1

我對PHP相當陌生,所以如果對此有一個簡單的答案,請原諒我。我在stackoverflow中搜索了任何類似的問題,但找不到任何幫助。PHP - 將對象打印到控制檯/記錄後端功能

我正在研究現有的基於php的應用程序,我只需要能夠將對象和陣列的內容打印到日誌或控制檯進行調試。問題在於函數不是直接被客戶端調用,而是牽扯MySQL數據,修改它並返回數據。這意味着像Chrome Logger(https://craig.is/writing/chrome-logger)和在javascript中使用console.log()等選項不會顯示在控制檯中。

我工作的應用程序有一個簡單的日誌記錄功能,但它只接受字符串。我無法修改日誌功能,因此無法打印對象和陣列,但我不知道內容是什麼。

有沒有人有任何建議如何進行此事?

特別是,我試圖找到MySQL查詢的結果,所以如果有一個解決方法來獲取該數據,那也可以。

非常感謝!

+0

你沒有任何地方,你可以輸出'你的陣列/對象的print_r()'?或者,您可以檢查一下,看看您是否在將'print_r()'輸出到頁面之前登錄到特定帳戶(假設您將這些信息存儲在$ _SESSION或其他內容中)? –

+0

使用AJAX調用腳本嗎?您可以使用Developer Tools的Network選項卡查看原始AJAX響應,該響應將包含腳本打印的所有調試消息。 – Barmar

+0

@Barmar腳本使用的是AJAX,問題是由於查詢位於服務器端,而不是客戶端,整個查詢隱藏在客戶端,網絡選項卡沒有給出結果 –

回答

2

我認爲你正在尋找http://php.net/manual/en/function.error-log.php或Monolog,但只解決了一半的問題。您還需要將對象序列化爲可以在日誌中表示的內容。您可以使用php序列化,json encoide或__toString方法來生成結果。請參閱http://php.net/manual/en/language.oop5.magic.php瞭解可能有用的魔術方法。

+0

^這是我能找到的最佳答案 - 我使用錯誤日誌並使用_TJson()來打印結果。非常感謝! –

+0

「這是我能找到的最好答案」 - 我可以看到你是新來的。請注意,接受答案可以使未來對其他可能有相同問題的人清楚。 – Mawg

1

嘗試將日誌寫入服務器本身的文件。

file_put_contents('log.txt',$ thelog,FILE_APPEND);

http://php.net/manual/en/function.file-put-contents.php

+0

我會加倍努力,因爲它會起作用,即使它不回答OP的問題。我想他希望看到JS和PHP輸出混合。 – Mawg

+0

感謝Mawg的投票。但是最初提出的問題是「PHP腳本的後端跟蹤」。我只是分享我有時做過的事情。它不是完美的解決方案,而是一個快速的解決方 – blokeish

+0

在我發現Chrome Logger之前,我已經使用過自己的解決方案:-)試試看;我相信你會喜歡它 – Mawg

相關問題