2016-04-07 8 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を使用して呼び出されていますか?開発者ツールの[ネットワーク]タブを使用して、生のAJAX応答を表示することができます。応答には、スクリプトが出力するデバッグメッセージが含まれます。 – Barmar

+0

@BarmarスクリプトはAJAXを使用していますが、問題はクライアントの側ではなくサーバーの側にあるため、クエリ全体がクライアントに表示されず、ネットワークタブには結果が表示されませんでした –

答えて

2

私はあなたがhttp://php.net/manual/en/function.error-log.phpまたはMonologを探していると思うが、それは質問の半分しか解決しない。また、オブジェクトをログで表現できるものにシリアル化する必要があります。その結果を生成するには、php serialize、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の質問に答えることはできませんが、それはうまくいくので、私はこれをupvoteします。私は彼がJSとPHPの出力が混在しているのを見たいと思っています。 – Mawg

+0

投票のためにMawgに感謝します。しかし、最初の質問は "PHPスクリプトのバックエンドトレース"でした。私は時々やったことを分かち合いました。完璧な解決策ではなく、迅速な解決策です。 – blokeish

+0

そして私がChrome Loggerを発見する前に私が自分で使った解決策:-)を試してみましょう。私はあなたがそれを好きになると確信しています – Mawg

関連する問題