Neden benim PHP log dosyası tamamen metin olmayabilir?

3 Cevap php

Ben bir eklenti şişirilmiş Wordpress kurulumu hata ayıklamak çalışıyorum; böylece temelde listelenen tüm geri çağrıları kaydeden çok basit bir homebrew logger eklediğiniz bir tek, sonuçta 250 + I yakalamak gerekiyor çünkü (I print_r() kullanamazsınız Wordpress boyutlu bir dizi satır Onlara) denir onlar edilmiştir hemen önce.

Benim logger hattıdır $logger->log("\t" . $callback . "\n");

Logger normal durumlarda bir züppe metin dosyası oluşturur, ama bu benim günlük dosyası artık doğru kodlanmasına neden bir şey ekleyerek bu özel görevi sırasında iki noktada. Gedit (Ubuntu değilim) kodlama anlamıyorum iddia, dosyayı açmıyor. Vim, suçlu bozuk arama (ki ben diziye bakarak, ayıklayıcıda bulamadı) ortasında ilgili olduğu ve ^@lambda_546 olarak basılmış ve dosyanın sonunda bu sevimli adam {[(var 1)]}. ^M ve ^@ .txt dosyalar için hiçbir renk teması dizi var benim vim, mavi vardır. Ne anlama geldiğini bilmiyorum.

Ben bir is_string($callback) koşul ekleyerek denedim, ama ben aynı sonuçları almak.

Herhangi bir fikir?

3 Cevap

Gizem bitti. Geriçağırımlarının biri anonim bir işlevi oldu. PHP create_function belgeleri araştıran, ben bir yorumcu oluşturulan bir işlev gibi pek bir isim olduğunu kaydetti olduğunu gördüm: chr(0) . lambda_n. Teşekkürler PHP.

Gelince \r. Eh, bu daha utanç verici. Benim logger Daha önce \r\n end satırları yaptığı yazılı bazı eski kodu yeniden.

^@ bir boş karakter (\0) ve ^M, bir CR (\r). Onlar olsa üretilen konum neden hiçbir fikrim yok. Sen öğrenmek için kaynak ve veritabanı üzerinden muck olurdu. Geany olsa kolayca yeterli dosyayı açmak gerekir.

Bu sevimli adamlar geri pencereler için biçimlendirme bir sonucudur görünüyor.