Phing: tam günlük e-posta ile gönderiyor?

5 Cevap php

Ben kullanıyorum phing for some automatic-building process on a project, ve was wondering : how can I get the full log by email ?


When I launch phing by the commve-line, the building-log is displayed ; I would like it :

  • e-posta yoluyla gönderilen,
  • birçok alıcıya,
  • yapı başarılı veya başarısız olup olmadığını
  • ideal: posta anlatmak için bir konu ile yapı başarılı veya başarısız olursa
  • ideal: biçimlendirme, renkleri ile HTML postası çeşit, ... güzel olurdu

Ben ettik olsa phing mail komuta ve çıktıya boru, ama ben hem Linux ve Windows üzerinde çalışmak bir çözüm istiyorum ve herhangi bir kurulum gerektirmez hakkında ek yazılım ...

Herkes bir fikir var mı?


As a sidenote : I've thought about adding some kind of "report" target, launched at the end of the build, but :

  • Bu tüm önceki hedefler başarısız değildi sadece başlattı
  • Ben de tam günlüğünü nasıl görmüyorum

5 Cevap

Harika bir fikir; sadece bu @ uygulamak için bir bilet eklendi http://phing.info/trac/ticket/539

Ben size tarif kullanımı davayı ele özel bir Phing build dinleyici / logger yazabilirim sanırım. Olacak almak için, bu mükemmel blog post Philip Norton tarafından bir göz atın.

Bu, size erişimi bir linux server için bir senaryo yazmak mümkün olduğunu varsayarak, ek yazılım yüklemesi olmadan yapabileceği bir şeydir.

Bir php script tam günlüğü almak exec () veya sistem () komutunu kullanabilirsiniz var. Eğer erişimi linux sunucu üzerinde uzaktan komut Kıvrılmaları kullanarak http sonrası veri olarak yollayın.

On the server you have access to write a script to accept the http post variable and mail the content to your email address(es). And you might think "Oh no, I have open access to people emailing me!" If they know your address or you have a web contact form... same deal. So that is a solution ;) If security's a concern send it via https.

Biz sth kullanın. gibi bu bir php komut dosyası sarılmış.

exec('phing' . $target . ' -f ' . $buildfile . ' | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"', $out); //remove bash color
$info = implode("\n", $out);
$subj = sprintf('Deployed %s', $catalogInfo['name']);
mail($data->email, $subj, $info); 

Gayet iyi çalışıyor.

Eğer PEAR mail packages baktınız mı?