2016-04-07 7 views
1

PHP'ye oldukça yeniyim, bu yüzden bana kolay bir cevap varsa beni affedin. Stackoverflow'ta benzer soruları aradım, ancak herhangi bir yardım bulamadım.PHP - Bir arka uç işlevi için konsol/günlüğe yazdırma nesneleri yazdır

Varolan bir php tabanlı uygulama üzerinde çalışıyorum ve yalnızca nesne ve dizilerin içeriğini hata ayıklama için günlük veya konsol olarak yazdırabilmem gerekir. Yakalama, işlevin doğrudan istemciyle değil, MySQL verisini çekmesi, değiştirmesi ve verileri döndürmesidir. Bu, Chrome Logger (https://craig.is/writing/chrome-logger) gibi seçenekler ve javascript'te console.log() işlevinin konsolda görünmemesi anlamına gelir.

Çalıştığım uygulama basit bir kayıt işlevine sahip, ancak yalnızca dizeleri kabul ediyor. Günlük işlevini değiştiremiyorum ve bu nedenle içeriğin ne olduğunu bilmediğim nesneleri ve dizileri yazdırmada sorun yaşıyorum.

Bu konuda nasıl ilerleyeceğine dair herhangi bir tavsiyesi var mı? Özellikle, MySQL sorgusunun sonuçlarını bulmaya çalışıyorum, bu nedenle bu verileri elde etmek için bir çözüm varsa, bu da işe yarayacaktır.

Çok önceden teşekkürler!

+0

her yerde yok mu o yapabildin çıktı diziniz/nesnenin bir 'print_r()'? Veya belirli bir hesaba giriş yapıp yapmadığınızı kontrol etmenin bir yolu (bu bilgiyi "$ _SESSION" veya başka bir şeyde sakladığınızı varsayarak), bir "print_r()" sayfasını yayınlamaya başlamadan önce kontrol edebilirsiniz. –

+0

Komut dosyası AJAX kullanılarak çağrılıyor mu? Komut dosyasının yazdırdığı hata ayıklama mesajlarını içerecek ham AJAX yanıtını görmek için Geliştirici Araçları'nın Ağ sekmesini kullanabilirsiniz. – Barmar

+0

@Barmar Komut dosyası AJAX kullanıyor, sorun, istemcinin tarafı değil, sunucunun tarafındaki sorgu olduğundan, tüm sorgu istemciye gizlendi ve Ağ sekmesi hiçbir sonuç vermedi –

cevap

2

http://php.net/manual/en/function.error-log.php veya Monolog'u aradığınızı düşünüyorum, ancak bu sorunun yalnızca yarısını çözüyor. Nesneyi bir günlükte temsil edilebilecek bir şeye serileştirmeniz de gerekecektir. Bu sonucu üretmek için php serialize, json encoide veya __toString yöntemini kullanabilirsiniz. Belki yararlı olabilecek sihirli yöntemler için http://php.net/manual/en/language.oop5.magic.php'a bakın.

+0

^Bulabildiğim en iyi cevap - Hata günlüğünü kullandım ve sonucu yazdırmak için '_TJson()' kullandım. Çok teşekkürler! –

+0

"Bu, bulabileceğim en iyi cevabı" - Burada yeni olduğunu görebiliyorum. Bir cevabı kabul etmenin, gelecekte aynı soruna sahip olabilecek diğer kişilere açık hale getirdiğini lütfen unutmayın. – Mawg

1

Günlüğü sunucudaki bir dosyaya yazmayı deneyin.

file_put_contents ('log.txt', $ thelog, FILE_APPEND); Chrome ler dev araçları herhangi Var log konsola chromelog kullanıyorum

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

+0

Bunu açıklayacağım çünkü OP'nin sorusuna cevap vermese de işe yarayacak. JS ve PHP çıkışının karıştığını görmek istediğini hayal ediyorum. – Mawg

+0

Oy vermek için teşekkürler Mawg.Ama sorulan asıl soru, "PHP betiğinin arka ucu izi" idi. Ben sadece bazen ne yaptığımı paylaşıyordum. Onun mükemmel bir çözüm değil ama hızlı bir. – blokeish

+0

Ve Chrome Logger'ı keşfetmeden önce kendimi kullandım bir çözüm :-) - bir deneyin; Beğeneceğim eminim – Mawg

İlgili konular